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

end*_*and 8 python macos pycharm

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

print '##### PATH'
print os.environ['PATH']
Run Code Online (Sandbox Code Playgroud)

我看到以下输出:

##### PATH
 /usr/bin:/bin:/usr/sbin:/sbin:/Users/username/.virtualenvs/venv/bin
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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

在此输入图像描述

我不明白的是:

  1. 使用charm结果成功设置PATH 从shell运行PyCharm :

    ##### PATH
    /Users/username/.virtualenvs/username/bin:/Users/username/go/dependencies/bin:/usr/local/go/bin:/usr/local/go/bin:/usr/local/bin:.... etc
    
    Run Code Online (Sandbox Code Playgroud)

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

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

但由于某些原因,PyCharm没有从我的父环境变量中提取PATH变量,即使它存在并且似乎被正确包含(没有上述两种解决方法).

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

我在操作系统上使用PyCharm 5.0.4:X使用bash shell.

Dan*_*ien 0

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

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