繁体   English   中英

无法在运行10.6的Mac上安装pip

[英]Trouble installing pip on Mac running 10.6

1我使用brew安装了python。

2 Python get-pip.py结果如下:

Requirement already up-to-date: pip in /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

3当我尝试使用pip安装其他东西时,我得到了这个:

pip install nose
-bash: /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pip: /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Content: bad interpreter: No such file or directory.

因为您使用的是系统随附的python(在/System/Library/... ),通常python是/Library/...所以pip命令在错误的位置查找python解释器。

如果您使用的是操作系统随附的python,则它可能已过时,因此我建议从python.org安装它,它将安装到pip期望的位置,因此也可以解决当前的问题。

如果您对已安装的python版本感到满意,并且python命令可以正常运行并且pip作为模块安装,则可以使用python -m pip运行pip命令。 无需更改!


如果您真的要在非标准安装中使用pip快捷方式。

(我个人不建议这样做,因为其他选项更好,但在某些时候可能对某人有用)

您收到的错误专门是因为pip文件中的shebang不正确,因此您可以根据需要进行修复。

首先找到pip命令和python命令, which pipwhich python ,python是机器代码,但是您可以在文本编辑器中读取pip ,这就是我的样子:

#!/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python

# -*- 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())

第一个喜欢以#!开头#! 是shebang,它指示可以运行此文件的python可执行文件的路径( which python的路径),因此只需将其更改为python可执行文件的路径并保存,您就可以开始使用了!

简短建议:使用Pyenv

在Mac上对Python的本机安装进行了一些调整,并且操作系统的多个组件也使用了它,因此最好不要修补它。

使用Pyenv,您可以设置多个虚拟Python环境,这些环境可以具有特定的Python版本,并可以为特定的文件夹自动启用。

例如,假设您要为项目使用Python 3.6。 首先,您必须安装Pyenv及其虚拟环境模块:

brew install pyenv pyenv-virtualenv pyenv install 3.6.0

然后,您可以基于Python 3.6创建自己的环境: pyenv virtualenv 3.6.0 my-own-py36

完成后,您应该在自己的环境中, pip将适用于该特定版本。

无论如何,也许最舒适的选择是为特定文件夹自动启用它。 您可以执行以下操作:转到项目根目录并输入: pyenv local my-own-py36

希望对您有所帮助,如有疑问,可以查看Pyenv文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM