【发布时间】:2018-08-10 18:52:05
【问题描述】:
当我运行 virtualenv 时,我得到了这个:
$ virtualenv
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
virtualenv 今天才开始这样做。它昨天奏效了。它中断是因为virtualenv 是一个使用不存在的 Python 解释器的 Python 脚本:
$ head -1 $(which virtualenv)
#!/usr/local/opt/python/bin/python2.7
在我的机器上,/usr/local/opt/python 是指向 Python 3.6 目录的符号链接:
$ ls -l /usr/local/opt/python
lrwxr-xr-x 1 jim admin 24 2 Mar 13:45 /usr/local/opt/python -> ../Cellar/python/3.6.4_3
正如预期的那样,Python 3.6 目录不包含bin/python2.7:
$ ls /usr/local/Cellar/python/3.6.4_3/bin/
2to3 idle pip3 pydoc3.6 python3-config python3.6m-config wheel3
2to3-3.6 idle3 pip3.6 python python3.6 pyvenv
easy_install idle3.6 pydoc python-config python3.6-config pyvenv-3.6
easy_install-3.6 pip pydoc3 python3 python3.6m wheel
virtualenv 显然期望 /usr/local/opt/python 包含 Python 2 材料,但它只包含 Python 3 材料。
我的/usr/local/opt/python 由 Homebrew 管理。我不知道我的virtualenv 的出处。如何知道我的/usr/local/bin/virtualenv 来自哪里?
谁是罪魁祸首?我的 virtualenv 还是 Homebrew?
【问题讨论】:
标签: python macos virtualenv homebrew