pip3.5安装从else获取变量导致错误的解释器错误

时间:2016-09-26 18:15:04

标签: python bash python-wheel

我有很多版本的python以及pippip3.5

$ pwd
/home/bli1/py/python3.5/bin

.bashrc我有:

export PATH=${HOME}/py/python3.5/bin:$PATH

我可以python3.5罚款

$ python3.5
Python 3.5.1 (default, Mar  1 2016, 10:49:42) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.

但是当我想要运行pip3.5 --no-cache-dir install -U ...时,我得到了:

$ pip3 --no-cache-dir install -U trin-py3-none-any.whl
-bash: /home/bli1/py/python3.5/bin/pip3: /home/sys_bio_ctgcs/sthe-admin/python3.5/bin/python3.5: bad interpreter: No such file or directory

我不确定/home/sys_bio_ctgcs/sthe-admin/python3.5/bin/python3.5来自哪里。我从其他人那里拿走了这些代码,所以我可能会采取其他我不了解的事情。

1 个答案:

答案 0 :(得分:1)

好像你已经从另一台机器上复制了Python二进制文件。

Python脚本端点包含shebangs,指向应由给定脚本使用的解释器版本。

您可以通过在shell中运行pip3.5来验证cat $(which pip3.5)使用的shebang。如果第一行中的二进制路径与解释器的路径不匹配,则安装会中断。您可以通过更新所有bash脚本并更改其中的shebang路径来修复它。

来自我的机器的样品:

mac-mini:~ rogalski$ cat $(which pip3.5)
#!/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5

# -*- coding: utf-8 -*-
import re
import sys

from pip import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())
mac-mini:~ rogalski$ 

#!/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5应指向有效的口译员。在你的情况下似乎没有。