pip3.5 安装从导致错误解释器错误的其他地方获取变量

pip3.5 install getting variables from else where causing bad interpreter error

我有很多版本的 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 来自哪里。我从别人那里拿了这段代码,所以我可能拿走了其他我不知道的东西。

您似乎从另一台机器上复制了 Python 个二进制文件。

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

您可以验证 pip3.5 在 shell 中 运行 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 应该指向有效的解释器。在你的情况下似乎没有。