pycharm和子进程 - 在控制台中工作的东西在Pycharm中不起作用

时间:2016-11-21 15:47:40

标签: python subprocess pycharm

Pycharm的解释器似乎已经停止了解我的一些控制台命令。它不断识别默认的shell命令,但不识别已安装的实用程序。

例如,subprocess模块了解touch命令但不理解heroku命令。

有趣的是,当我在控制台中输入相同的字符串时,使用相同的解释器(来自相同的virtualenv),一切正常。

一个直观的例子:

enter image description here

几天前停止了工作,在此之前一切都运转良好。

我以为我弄乱了我的一些env vars,但打开了一个我一个月没碰过的旧项目,看到同样的subprocess命令也停止在那里工作。

可能是什么问题?

更新

好的,我把这件事搞定了。

os.environ['PATH']的值在控制台和Pycharm中有所不同。在我将正确的PATH添加到Pycharm配置env vars后,一切都开始工作了。

现在的问题是,我如何避免在每个项目中完成每个配置并在各处添加这个新的PATH?有没有办法在全球范围内执行此操作并修复此设置已被破坏的设置?

1 个答案:

答案 0 :(得分:2)

我看到你想出了如何配置PyCharm的项目PATH。

至于如何不为每个项目开始执行此项目,您只需更新默认项目配置。

来自Accessing Default Settings

  

PyCharm有助于定义默认项目的设置。这些设置   每次创建新项目时都用作默认值。

     

访问默认项目设置

     
      
  1. 在主菜单上,选择文件|默认设置
  2.   
  3. 在打开的Settings对话框中定义所需的设置。
  4.   

注意:默认项目配置的更新仅适用于未来的新项目,任何现有的项目配置都需要手动更新。