如何在macOS或OS X上安装pip?


1676

昨天我大部分时间都在寻找安装的明确答案pip(Python的软件包管理器)。我找不到一个好的解决方案。

如何安装?

Answers:


3263

更新(2019年1月):

easy_install弃用。请get-pip.py改用:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

旧答案:

easy_install pip

如果您需要管理员权限才能运行此程序,请尝试:

sudo easy_install pip

25
如果您在代理后面,请确保正确设置了http_proxy和https_proxy,然后在sudo中使用'-E'选项:sudo -E easy_install pip
Neil Schaper 2014年

18
Installed /Library/Python/2.7/site-packages/pip-6.0.6-py2.7.egg-我的python3安装怎么样?这是否仅仅意味着pip使用了我的python2安装?
临时用户名

44
额外警告:安装基于自制程序的python并在PATH中更早发生时(例如,当您更改/ etc / paths时),请不要运行此命令:它将为错误的python安装具有根凭据的pip
acidjunk

11
pypi.python.org/simple上出现错误#notsoeasy下载错误:[SSL:TLSV1_ALERT_PROTOCOL_VERSION] tlsv1警报协议版本(_ssl.c:590)-可能找不到某些软件包!找不到本地软件包或下载链接以解决pip错误:找不到Requirement.parse('pip')的合适发行版
htafoya

5
@htafoya我遇到了同样的错误。相反,对我有用。curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && sudo python get-pip.py

590

⚡️ TL; DR -一个线的解决方案。

您要做的就是:

sudo easy_install pip

2019:⚠️ easy_install已被弃用。检查下面的方法2以进行首选安装!

我做了一个gif,因为。为什么不?

在Mac上安装PIP

细节:

⚡️好,我读了上面给出的解决方案,但这是一个易于安装的解决方案pip

MacOS Python已安装。但是要确保已Python安装,请打开终端并运行以下命令。

python --version

如果此命令返回的版本号表示Python存在。这也意味着您已经可以easy_install考虑使用macOS/OSX

Now️现在,您所要做的就是运行以下命令。

sudo easy_install pip

之后,pip将被安装,您将可以使用它来安装其他软件包。

如果您以pip这种方式安装有任何问题,请告诉我。

干杯!

PS我最终在博客上写了一篇有关它的文章。快速提示:如何在macOS或OS X上安装pip?


更新(2019年1月):方法2:两线解决方案-

easy_install弃用。请get-pip.py改用。

首先下载get-pip文件

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

现在运行此文件进行安装 pip

python get-pip.py

那应该做。

你说的另一个gif?来呀!

手动安装点子


4
错误:由于环境错误而无法安装软件包:[Errno 13]权限被拒绝:'/Library/Python/2.7/site-packages/pip'考虑使用该--user选项或检查权限。
2540625

1
尝试使用sudo
艾哈迈德·阿怀斯

1
在尝试使用python get-pip.py之后,我得到错误:由于EnvironmentError无法安装软件包:[Errno 13]权限被拒绝:'/Library/Python/2.7/site-packages/pip-19.1.1.dist-info / RECORD'考虑使用该--user选项或检查权限。
乔纳斯(Jonas)

我只是在on.ahmda.ws/424d72上尝试过-它工作正常。您是否正在使用第二种最新方法?
艾哈迈德·阿怀斯

之后curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py,我对此curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bootstrap.pypa.io:443有何想法?@AhmadAwais
Jony

483

您可以在OS X上通过Homebrew安装它。为什么要在Homebrew中安装Python?

OS X附带的Python版本非常适合学习,但不利于开发。OS X附带的版本可能已从官方的当前Python发行版过时了,该版本被认为是稳定的生产版本。(来源

Homebrew是OS X的软件包管理器。在Homebrew页面上找到更多详细信息。一旦安装了Homebrew,请运行以下命令以安装最新的Python,Pip和Setuptools:

brew install python

2
文件夹/ usr / local / bin / pip在路径中,但是pip没有运行。我删除了该文件夹并重新安装它,现在它可以运行了。谢谢 !!
discipulus's

16
请注意,如果您使用自制软件,那么最终将使用自己的python,而不是系统的python。如果您想使用wxpython,这就是通往地狱的道路……
GreenAsJade 2013年

3
我喜欢此解决方案,因为不需要“ sudo”。让我们不要再使用系统的python。
justrhysism

3
使用自制软件安装python也会安装pip。一切都在本地安装,不需要sudo
joshlsullivan,2015年

81
如果您安装了Python,但pip仍未安装,则可能需要重新链接,例如brew unlink python && brew link python
Christian Long

452

我很惊讶没有人提到这一点-自2013年以来,python本身就可以安装pip,不需要外部命令(也不需要Internet连接)。

sudo -H python -m ensurepip

这将创建与安装类似的安装easy_install


3
完善!我的系统无法轻松安装,因此其他解决方案无法正常工作。
user3235770

1
这是从防火墙后面进行的,其他防火墙都失败了。谢谢!
Floris

6
如果您有多个版本的python,并且需要特定的版本来获得pip,则这会有所帮助。
Teepeemm '18

2
@ user3.1415927您可以使用/path/to/your/python -m pip <command>
felixphew '18

5
最佳解决方案,在MacOS上像魅惑一样工作。easy_install提供下载错误。
eXc

134

在Mac上:

  1. 安装easy_install

    curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python
  2. 安装点子

    sudo easy_install pip
  3. 现在,您可以安装外部模块。例如

    pip install regex   # This is only an example for installing other modules

以上解决方案均产生了DistributionNotFound异常。这工作得很好。
stickj 2015年

我不得不重新启动终端后的easy_install安装,我不得不对PIP执行sudo安装的东西。但在那之后,完美的作品
辛德里雷神

3
最新的OSX已与easy_install捆绑在一起,调用curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python将破坏您的设置!如果您已经安装过easy_setup,请不要安装它。在执行此命令后,我已经花了一个小时来修复我的安装程序(感谢stackoverflow.com/questions/6012246/…)。
Sergiy Sokolenko '16

1
直接将curl传递到解释器中的问题……这种做法很常见,这是我不喜欢的安全隐患。(此外,我认为这个问题还有更好的答案。)
lindes


90

pip可通过OS X在OS X上使用easy_install
打开一个终端并输入:

sudo easy_install pip

当提示您输入密码时,输入您的常规登录密码。
安装完成后,您应该可以pip按预期使用。

注意:这也适用于其他python包


当我之前得到的只是某种DistributionNotFound异常,试图通过pip安装某些东西时,这一行固定了我的Mac 上的pip。(Mac OS X 10.10.4,Python 2.7)
Oliver Schafeld

1
然后我也必须跑步pip install --upgrade pip
thorr18'1

pip取决于python版本吗?我安装了python3,但是此命令似乎正在使用python2。pip已成功安装。
菲利克斯(Felix)

85

2019年10月更新:MacOs Mojave

MacOS附带python2,但不附带pip。无论如何,最好使用自制软件进行管理,您必须在安装之前进行安装:

https://docs.brew.sh/安装

安装python2:

brew install python

警告:对于现代macOS(2019),可以安装python3,并且python2您确实需要执行以下操作:brew install python@2

安装python3:

brew install python3

更新:Python 3

如果您安装python3,则会自动安装pip。

brew install python3

新2019:现在使用pip版本3,请使用pip3或您可以执行:python3使用版本3.当您使用pip3安装软件包时,它们将与分开python2

老:您只需要升级pip,但在此之前,您需要创建一个虚拟环境以使用Python3。您可以使用项目文件夹或任何文件夹:

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip

检查版本:

pip -V
python --version

NEW 2019:
pip3 -V
python3 --version

要停用环境:

$ deactivate

对我来说,sudo python get_pip.py运作良好,是因为OS X python已安装!
Abhishek Ghosh

如果要使用较新版本的Python,这可能是一个选项,因为Mac的Python默认安装为2.7.x。您可以通过将上面的步骤2更改为python3而不是python来实现。附加说明,python的brew安装还将安装pip,并提供有关升级/ uisng pip的信息。
Delicia Brummitt

@DeliciaBrummitt我已经根据您的建议纠正了我的答案,并且为python3添加了一个新块
stackdave

curl -O https://bootstrap.pypa.io/get-pip.py | sudo python3 get-pip.py用于El Capitan上的Python3。
marw

7
我的点叫pip3
Evan Moran,

83

最简单的解决方案是按照pip主页上安装说明进行操作

基本上,这包括:

  • 下载get-pip.py。确保通过遵循受信任的链接来执行此操作,因为您将必须以root用户身份运行脚本。
  • 呼叫 sudo python get-pip.py

该解决方案的主要优点是,它会为曾经运行过的python版本安装pip get-pip.py,这意味着,如果使用默认的OS X python安装来运行get-pip.py,则将从系统中为python安装安装pip。

大多数在OS X上使用软件包管理器(自制或Macport)的解决方案都会在软件包管理器的环境中创建python的冗余安装,这可能会在您的系统中造成不一致,因为根据您所执行的操作,您可以将安装称为python,而不是另一个。


我有第二个brew安装的python,但是我试图在我的原始/ usr / bin mac python上安装pip。您知道该如何安装pip吗?我使用/ usr / bin / python安装pip,但pip不在/ usr / bin /中。
韦斯利

1
@Wesley您是如何获得第二次安装的?如果您使用的是python版本管理器,则应该有一个选项来设置所需的python版本,然后您应该能够通过上述方法为该特定版本安装pip。
Jorge Bucaran

1
这是不安全的,因为您在的环境get-pip.py下运行sudo,但是get-pip.py在您知道校验和之前,不能保证下载正确。更多内容:stackoverflow.com/questions/34587473/...
弗拉基米尔·伊格纳季耶夫

2
好像链接的页面已移至pip.pypa.io/en/stable/installing,其中提到“警告!如果您使用的是由操作系统或其他程序包管理器管理的Python安装,请保持谨慎。get -pip。 py与这些工具不协调,可能会使您的系统处于不一致状态。”
泰勒·埃德米斯顿

2
该警告令我感到困惑,因为使用git-pip.py脚本为Apple股票python安装pip是现有脚本的主要用例,而不仅仅是通过自制软件安装python。
泰勒·埃德米斯顿

42

尽管Python已随MacOS一起提供,但安装单独的Python副本是一种普遍的选择。您有责任确保使用的是您打算使用的Python副本。但是,这样做的好处是拥有最新的Python版本,并且在出现严重错误的情况下可以防止系统崩溃。

要使用HomeBrew安装Python :

brew update
brew install python # or brew install python3

现在确认我们正在使用新安装的Python:

ls -lh `which python`

...应显示指向其中带有“地窖”的路径的符号链接,例如:

lrwxr-xr-x  1 chris  admin    35B Dec  2 13:40 /usr/local/bin/python -> ../Cellar/python/2.7.8_2/bin/python

Pip应该与Python一起安装。您可能需要输入以下内容来升级它:

pip install --upgrade pip

现在,您可以在PyPI上安装任何50,000+个软件包。

其他注意事项

以前,我使用get-pip.py安装pip。但是,文档警告说,get-pip.py与软件包管理器不协调,可能会使您的系统处于不一致状态。无论如何,没有必要,因为从2.7.9开始,Python现在已包含 pip 。

请注意,pip不是Python的唯一软件包管理器。还有easy_install。将两者混合使用是不好的,所以不要这样做。

最后,如果您同时安装了Python 2和3,pip将指向最后安装的Python。养成显式使用pip2pip3的习惯,因此您可以确定哪个Python正在获取新库。

骇客入侵!


1
实际上,python符号链接到python2,python3符号链接到python3 ...不管最后安装的是哪个。
科里·戈德堡

1
来自Homebrew docs的本页解释了每个命令指向的版本:docs.brew.sh/Homebrew-and-Python
Albert Vila Calvo

42

对于同时安装了python2和python3的用户,以下是解决方案:

python2.7 -m ensurepip --default-pip

另外,如果您想为python3.6安装pip:

wget https://bootstrap.pypa.io/get-pip.py
sudo python3.6 get-pip.py

3
这需要成为最近的
python

python get-pip.py
David Odhiambo

27

在最新版本(我相信至少从塞拉利昂起,从优胜美地或El Capitan起),如果您使用自制软件brew postinstall python3brew install python3则需要运行。

所以,

brew install python3 # this only installs python
brew postinstall python3 # this installs pip

更新-1.5之后的自制软件版本

根据官方的Homebrew页面

在2018年3月1日,python公式将升级到Python 3.x,并且将添加python @ 2公式以安装Python 2.7(尽管这仅是小桶,因此默认情况下,不将python和python2添加到PATH中,而无需手动冲泡链接--force)。我们将维护python2,python3和python @ 3别名。

因此,要安装Python 3,请运行以下命令:

brew install python3

然后,pip会自动安装,您可以通过来安装任何软件包pip install <package>


7
没为我工作。我在塞拉上。执行完这些命令后,看起来很成功,但是随后-bash: pip: command not found。最好的答案是对我sudo easy_install pip
有用的

@ iamse7en您是否重新启动了Terminal或打开了另一个选项卡?postinstall命令后的日志是什么?
布拉萨德'17

FWIW-我也收到了pip: command not found消息。我确实尝试在iTerm中打开一个新选项卡,并收到相同的消息。两个brew命令均无错误。
domdambrogia

我猜这将安装python 3,而不是pip。
Karthik RP

4
对于那些无法正常工作的用户,请查找pip3而不是“ pip”,并可能创建一个别名
eMerzh


25

您应该先安装Brew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后brew安装Python

brew install python

然后pip会工作


8
但是-在这种情况下,您尚未在系统python中安装pip,而是安装了新的python和pip。然后,您将陷入各种尝试使用wxpython的纷争中……
GreenAsJade


14
$ sudo port install py27-pip

然后更新您的PATH以包含py27-pip bin目录(您可以将其添加到〜/ .bash_profile PATH = / opt / local / Library / Frameworks / Python.framework / Versions / 2.7 / bin:$ PATH中)

点子将在新的终端窗口中可用。


port默认情况下未安装
Parag

12

要安装或升级piphttp://www.pip-installer.org/en/latest/installing.html下载get-pip.py

然后运行以下命令: sudo python get-pip.py

例如:

sudo python Desktop/get-pip.py 
Password:
  Downloading/unpacking pip
  Downloading pip-1.5.2-py2.py3-none-any.whl (1.2MB): 1.2MB downloaded
Installing collected packages: pip
Successfully installed pip
Cleaning up...

sudo pip install pymongo
Password:
Downloading/unpacking pymongo
  Downloading pymongo-2.6.3.tar.gz (324kB): 324kB downloaded
  Running setup.py (path:/private/var/folders/0c/jb79t3bx7cz6h7p71ydhwb_m0000gn/T/pip_build_goker/pymongo/setup.py) egg_info for package pymongo

Installing collected packages: pymongo
...

1
是的,但也有更简单的方法
ultimatetechie

get-pip.py就像它变得一样简单
Corey Goldberg

10

无需安装 sudo

如果您想要安装pip而不需要sudo,那么在尝试全局安装软件包时总是会感到沮丧,请像这样pip在本地文件夹中安装/usr/local

curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
python get-pip.py --prefix=/usr/local/

然后:

pip install <package-of-choice> 没有 sudo


4
点安装结果ImportError: No module named pip._internal
raarts

这修复了提到的ImportError @raarts:stackoverflow.com/a/49997795/164545
Seanonymous

9

首先安装python3,然后使用pip3安装软件包。

brew install python

将会安装python3,并且pip附带了它。要使用pip安装一些软件包,请运行以下命令

pip3 install package

注意它是pip3,因为您想使用python3。


8

从以下网站下载python设置工具:

https://pypi.python.org/pypi/setuptools

使用tar文件。

下载后,转到下载的文件夹并运行

python setup.py install

完成后,您将拥有easy_install。

请使用以下内容安装pip:

sudo easy_install pip

如果您从python.org下载Mac安装程序包,则pip捆绑在安装中。无需再运行设置工具。
benwiggy

5

以某种方式无法轻松安装在我的旧Mac(10.8)上不起作用。这解决了我的问题。

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

如果没有wget,只需在浏览器中打开,https://bootstrap.pypa.io/get-pip.py然后另存为get-pip.py


-1

我向您推荐水蟒。它是由Python支持的领先的开放数据科学平台。安装了许多基本软件包。Anaconda(conda)附带了它自己的安装pip


5
与问题无关
Don P

2
@DonnyP实际上,此建议解决了这个问题,并将尽快解决原始问题pip。这个答案应该得到推广和鼓励。
pylang

1
这不是答案,这是广告。如果我弄错了,作者应该提供更多有关如何解决该问题的详细信息。
EmilReñaEnriquez

1
问题是如何安装点子。如果您推荐的产品已经包含点子,那么您的答案(或建议)与问题无关。
匿名类型,

2
这是正确的答案。conda自带pip已安装。最好是conda在Mac上仅使用安装,而不要使用上面描述的与直接系统安装混淆的其他方法。尤其是在使用Python时,裸露安装pip是一个非常糟糕的主意。您应该使用pip随附的conda来正确隔离您的软件包环境。
user5359531
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.