Python“糟糕的翻译”错误

时间:2015-04-20 00:58:34

标签: python virtualenv interpreter

所有似乎都适用于python 2和3:

$ which Python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python

$ python --version
Python 2.7.9

$ python2
Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

$ python3
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

我的.bash_profile设置如下:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
export PATH

问题:

$ virtualenv My_Env
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python3/bin/python3.4: bad interpreter: No such file or directory

上述路径不存在。我直接从python站点下载了我的python包,并使用默认设置进行安装。

在此之前,我使用安装了HomeBrew的Python,但无论如何这条路径似乎都不是brew文件路径。

底线...我的文件路径在我的.bash_profile以外的其他地方搞砸了,我不知道在哪里修复它。


另请注意,我使用完全相同的.bash_profile和python安装设置了我的另一台计算机,它运行正常......

两者都在运行Mac Yosemite。

提前致谢!

4 个答案:

答案 0 :(得分:11)

好的,我能够通过全新安装virtualenv解决问题。我假设这是路径问题所在的位置(在virtualenv的安装中的某个地方)。

答案 1 :(得分:7)

我的问题就像在venv/bin/pip顶部的目录中有空格一样简单,这意味着路径在引号内。一旦我确定它不在带有空格的目录下并删除了它起作用的引号。

例如。 #!"/Users/Tomm/MY PROJECT/venv/bin/python"应更改为#!/Users/Tomm/MY-PROJECT/venv/bin/python

答案 2 :(得分:1)

您可以查看"激活"在你的virtualenv bin文件夹中的文件,看看在第42行附近写了什么,然后实际上可以手动设置它,同时记住这个bin文件夹中的所有可执行文件都是第一个shebang行的硬编码。

您还需要更改它们。或者只是将文件夹移动到适合您​​当前临时任务的位置,否则您可能需要virtualenv重定位工具或只是重新安装它。

答案 3 :(得分:1)

重新安装virtualenv应解决此问题。我也经历了同样的bug并重新安装使用pip解决了这个问题。