为什么PyCharm有时不会将系统环境变量用于具有虚拟环境的PATH?

时间:2016-03-22 17:57:07

标签: python macos pycharm

使用PyCharm,我配置了一个虚拟环境。这导致与PATH的一些非常混乱的交互。当我查看文件具有PATH的环境变量时:

print '##### PATH'
print os.environ['PATH']

我看到以下输出:

##### PATH
 /usr/bin:/bin:/usr/sbin:/sbin:/Users/username/.virtualenvs/venv/bin

这让我感到困惑,因为我已经明确告诉PyCharm通过以下对话框使用系统环境变量:

enter image description here

单击“显示”时,我看到PATH的定义不同:

enter image description here

我不明白的是:

  1. 使用charm从shell运行PyCharm会导致PATH成功设置:

    ##### PATH
    /Users/username/.virtualenvs/username/bin:/Users/username/go/dependencies/bin:/usr/local/go/bin:/usr/local/go/bin:/usr/local/bin:.... etc
    

    这在PyCharm中没有任何其他配置 - 只需从shell重新启动它会导致PATH的行为设置不同

  2. 我也可以在PyCharm中手动定义PATH变量(到父环境变量标签中给出的值),它也可以正常工作

  3. 但由于某些原因,PyCharm没有从我的父环境变量中提取PATH变量,即使它存在且出现要正确包含(没有上述两种解决方法中的任何一种)。

    为什么PyCharm会这样做,我需要做些什么来实际“正确地包含父环境变量”?

    我在操作系统上使用PyCharm 5.0.4:带有bash shell的X。

2 个答案:

答案 0 :(得分:0)

如果要继承这些变量,则需要从命令行启动python。

要创建快捷方式,请选择"工具>创建命令行启动器"。

答案 1 :(得分:0)

这是pycharm和OS X中的已知错误:https://youtrack.jetbrains.com/issue/PY-17816