在PyCharm 5中的Mac OS X El Capitan 10.11.1上运行此功能(这在PyCharm 4.5中运行正常)
import os
print("PATH:", os.environ.get("PATH"))
Run Code Online (Sandbox Code Playgroud)
如果我用PyCharm的项目解释器设置为System的Python运行这个程序:/Library/Frameworks/Python.framework/Versions/3.4/bin/python3
这是我得到的输出:
PATH: /Users/agautam/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)
如果我运行相同的程序,项目解释器设置为虚拟环境,/Users/agautam/work/my-awesome-py-project/venv/bin/python3
我得到:
PATH: /usr/bin:/bin:/usr/sbin:/sbin:/Users/agautam/work/my-awesome-py-project/venv/bin
Run Code Online (Sandbox Code Playgroud)
问题:/usr/local/bin
当我使用虚拟环境时,它会丢失.
以下是创建虚拟环境的方法:
import sys, platform, subprocess
from os.path import dirname, join
root_path = join(dirname(__file__), '../..')
venv_path = join(root_path, 'venv')
def build_virtual_environment():
print("Building virtual env from Python version", sys.version)
# Create a fresh virtual env
import venv
builder = venv.EnvBuilder(with_pip=True)
builder.create(venv_path)
# Install dependencies in new virtual env
run_in_venv('python', ['-m', 'pip', 'install', '--upgrade', 'pip']) # Upgrade pip …
Run Code Online (Sandbox Code Playgroud)