python删除虚拟环境_为什么PyCharm在使用Python虚拟环境时在Mac上删除/usr/local / bin...

在Mac OS X El Capitan 10.11.1上运行此命令

在PyCharm 5中(这在PyCharm 4.5中工作正常)

import os

print("PATH:", os.environ.get("PATH"))

如果我用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

如果我运行相同的程序,项目解释器设置为虚拟环境/ 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

问题:当我使用虚拟环境时,/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 itself

run_in_venv('pip', ['install', '-r', join(root_path, 'requirements.txt')])

def run_in_venv(cmd, args):

if platform.system() == 'Windows':

cmd += '.exe'

virtual_env_bin_path = r'venv/Scripts'

else:

virtual_env_bin_path = r'venv/bin'

subprocess.check_call([join(root_path, virtual_env_bin_path, cmd)] + args)

if __name__ == '__main__':

build_virtual_environment()

附加信息:从命令行运行python解释器产生完全相同的结果(所以它似乎是pycharm问题):

$/Library/Frameworks/Python.framework/Versions/3.4/bin/python3

Python 3.4.0 (v3.4.0:04f714765c13, Mar 15 2014, 23:02:41)

[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> os.environ.get("PATH")

'/Users/agautam/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'

>>>

$./venv/bin/python3

Python 3.4.0 (v3.4.0:04f714765c13, Mar 15 2014, 23:02:41)

[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> os.environ.get("PATH")

'/Users/agautam/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'

>>>

任何帮助/信息/指针将受到高度赞赏.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值