我正在尝试安装virtualenv的新版本(python存储在sys.executable中的路径存在一些问题),事实证明存在另一个实际上似乎相关的问题。
当我尝试运行pip install virtualenv
时,我得到了这个输出:
-bash: /usr/local/Cellar/python/2.7.10_2/bin/pip: /usr/local/opt/python3/bin/python3.4:
bad interpreter: No such file or directory
现在我重新安装virtualenv的原始观点是,当我运行virtualenv venv
时,我一直收到此错误
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/virtualenv.py", line 2363, in <module>
main()
File "/Library/Python/2.7/site-packages/virtualenv.py", line 832, in main
symlink=options.symlink)
File "/Library/Python/2.7/site-packages/virtualenv.py", line 994, in create_environment
site_packages=site_packages, clear=clear, symlink=symlink))
File "/Library/Python/2.7/site-packages/virtualenv.py", line 1288, in install_python
shutil.copyfile(executable, py_executable)
File "/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python3.4/shutil.py", line 108, in copyfile
with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/opt/python3/bin/python3.4'
作为一个可能相关的旁注,而不是使用默认安装的python3,我酿造了一个带有brewed openssl的python3(一个应用程序需要它)并将brewed python3的路径放在我{{{ 1}}。
我试图多次安装和卸载python而没有任何成功,完全不知道问题是什么。任何方向都将不胜感激。
修改
在@cel的建议之后,我发现我的pip文件的头部(位于/etc/paths
)被设置为硬编码python版本/usr/local/Cellar/python/2.7.10_2/bin/pip
。我将其更改为#!/usr/local/opt/python3/bin/python3.4
的输出which python
这让我再次成功地创造了一个虚拟世界。谢谢!
答案 0 :(得分:3)
当我使用HomeBrew将我的python从3.5.2版升级到3.6.0版时,我遇到了类似的问题。 HomeBrew将符号链接/usr/local/bin/pip3
更新为/usr/local/Cellar/python3/3.6.0/bin/pip3
,但我的/usr/local/bin/pip
仍在使用旧脚本,它指向/usr/local/opt/python3/bin/python3.5
处的python解释器。
我的行动如下:
取消关联/usr/local/bin/pip
并将其更新为点/usr/local/Cellar/python3/3.6.0/bin/pip3
。
创建了一个指向/usr/local/bin/pip3.5
的新符号链接/usr/local/Cellar/python3/3.5.2/bin/pip3
,并更新了pip3.5脚本的标题,指向/usr/local/Cellar/python3/3.5.2/bin/python3.5
遵循virtualenv
。
P.S。最初我没有遇到virtualenv
的问题,因为我使用的是-p
选项。