题 如何在Windows上安装pip?


pip 是一个替代品 easy_install。但我应该安装 pip 运用 easy_install 在Windows上?有没有更好的办法?


2224
2017-09-18 11:45


起源


这很讽刺!我打算问同样的问题。一些替换它 - 如果它仍然必须使用easy_install! HAHAH - drozzy
虽然我同意你的意见,但所有的Windows程序安装都无需安装安装程序。 - drozzy
来自PyCon 2011: blip.tv/pycon-us-videos-2009-2010-2011/... 肮脏的秘密是pip是easy_install的包装器:) - Civilian
就像apt-get在核心使用dpkg一样 - 但它并没有使它变得不那么有用! - Liam Dawson
Ruby带有带Npm的Gem和Nodejs,为用户提供全功能的包管理功能。我很羡慕。 stackoverflow.com/a/11453972/284795 - Colonel Panic


答案:


Python 2.7.9+和3.4+

好消息! Python 3.4 (2014年3月发布)和 Python 2.7.9 (2014年12月发布)与Pip一起发货。这是任何Python版本的最佳功能。它使每个人都可以访问社区丰富的图书馆。由于难以设置,新手不再被排除在使用社区库之外。在使用包管理器时,Python加入了 红宝石Node.js的哈斯克尔Perl的 - 几乎所有其他当代语言与大多数开源社区。谢谢Python。

当然,这并不意味着Python包装问题就解决了。经验仍令人沮丧。我讨论这个 在Stack Overflow问题中 Python有包/模块管理系统吗?

并且,对于使用Python 2.7.8或更早版本(社区的相当大一部分)的每个人来说都是唉。没有计划将Pip发送给您。手动说明如下。

Python2≤2.7.8,Python3≤3.3

面对它的飞行 '电池包括' 座右铭,Python没有包管理器。更糟糕的是,Pip直到最近才讽刺地难以安装。

官方指示

https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip

下载 get-pip.py小心将它保存为 .py 文件而不是 .txt。然后,从命令提示符运行它:

python get-pip.py

您可能需要管理员命令提示符才能执行此操作。跟随 以管理员身份启动命令提示符 (Microsoft TechNet)。

这将安装pip包,它(在Windows中)包含... \ Scripts \ pip.exe,该路径必须位于PATH环境变量中才能使用命令行中的pip(请参阅“备用指令”的第二部分,将其添加到你的路径,

替代指示

官方文档告诉用户从源代码安装Pip及其每个依赖项。这对于新手经验丰富且难以接受的困难来说是乏味的。

为了我们的缘故,Christoph Gohlke准备Windows安装程序(.msi)用于流行的Python包。他为所有Python版本(32位和64位)构建安装程序。你需要:

  1. 安装setuptools
  2. 安装点子

对我来说,安装了Pip at C:\Python27\Scripts\pip.exe。找 pip.exe 在您的计算机上,然后添加其文件夹(例如, C:\Python27\Scripts)到你的路径(开始/编辑环境变量)。现在你应该能够跑了 pip 从命令行。尝试安装包:

pip install httpie

你去(希望)!常见问题的解决方案如下:

代理问题

如果您在办公室工作,您可能会在HTTP代理后面。如果是,请设置环境变量 http_proxyhttps_proxy。大多数Python应用程序(和其他免费软件)都尊重这些。语法示例:

http://proxy_url:port
http://username:password@proxy_url:port

如果你真的不走运,你的代理可能是微软 NTLM 代理。免费软件无法应付。唯一的解决方案是安装一个免费的软件友好代理,转发给令人讨厌的代理。 http://cntlm.sourceforge.net/

找不到vcvarsall.bat

Python模块可以部分用C或C ++编写。 Pip尝试从源代码编译。如果您没有安装和配置C / C ++编译器,您将看到这个神秘的错误消息。

错误:无法找到vcvarsall.bat

你可以解决这个问题 安装C ++编译器 如 MinGW的 要么 Visual C ++。微软实际上发布了一个专门用于Python的软件。或者试试 用于Python 2.7的Microsoft Visual C ++编译器

通常虽然更容易检查 克里斯托夫的网站 为你的包。


1636
2018-02-07 12:21



是“可以修复,不会修复”或“不能修复,不会修复”? - Paul Draper
@MikeMcMahon也发生在我身上。将Perl中的Python放在路径中,然后输入 pip 获取Python包管理器。 - Colonel Panic
我没有做任何这个,我只是按照说明进行操作 pip-installer.org/en/latest/installing.html (基本上你只是写“python ez_setup.py”然后“python get-pip.py”) - CaptainCodeman
这可能是一个愚蠢的问题。我在Windows提示符下输入了python get-pip.py但得到“python不被识别为内部或外部命令,可操作程序或批处理文件”。难道我做错了什么?我安装了Python 2.7.8。我需要更改目录吗?谢谢。 - Andrew
要开始“内置”点,你必须使用 python -m pip 在窗户上! - powtac


- 过时的  - 使用分发,而不是如此处所述的setuptools。 -
- 过时的#2  - 使用setuptools,因为不推荐使用分发。

正如您所提到的那样,pip不包含独立安装程序,但您可以使用其前身easy_install进行安装。

所以:

  1. 从这里下载最后一个点子版本: http://pypi.python.org/pypi/pip#downloads
  2. 解压缩它
  3. 下载最新的Windows安装程序:(下载底部的.exe http://pypi.python.org/pypi/setuptools )。安装它。
  4. 复制未压缩的pip文件夹 内容 成 C:\Python2x\ 文件夹(不要将整个文件夹复制到其中,只是内容),因为python命令在外面不起作用 C:\Python2x 文件夹然后运行: python setup.py install
  5. 添加你的python C:\Python2x\Scripts 到了路上

你完成了。

现在你可以使用了 pip install package 像在Linux中一样轻松安装软件包:)


291
2018-01-27 18:43



当运行命令“python setup.py install”时,如果出现“error:pip.egg-info \ PKG-INFO:Permission denied”,则尝试删除未压缩的pip目录上的只读属性。 - Yoo Matsuo
如果你安装64位版本的python,setuptools将不会检测你的python可执行文件。我在这里发现了一些二进制文件,但是(非官方的): lfd.uci.edu/~gohlke/pythonlibs - Chris
一旦我安装了 pip 运用 easy_install 我可以删除 setuptools 通过 pip uninstall setuptools?这样可以,还是以后会导致问题? - Mridang Agarwalla
作为第4步的替代方案,只需从pip被下载到例如的地方运行setup.py。来自firefox C:\ Users \ Tony \ Downloads \ pip-1.2.1 \ pip-1.2.1 - Pyderman
从02/2016开始,这种方法在Windows上的Python 2.6上安装pip(然后是鼻子!)仍然可以正常工作。事实上,使用Gohlke的二进制文件不再是一种选择,因为他用轮子取代了它们。 - gaborous


2014年更新:

1)如果你已经安装了Python 3.4或更高版本,pip包含在Python中,应该已经在你的系统上运行了。

2)如果您运行的是Python 3.4以下的版本,或者由于某种原因没有使用Python 3.4安装pip,那么您可能会使用pip的官方安装脚本 get-pip.py。 pip安装程序现在为您抓取setuptools,无论体系结构如何(32位或64位)都可以正常工作。

安装 说明详述在这里 涉及:

要安装或升级pip,请安全下载 get-pip.py

然后运行以下命令(可能需要管理员访问权限):

python get-pip.py

要升级现有的setuptools(或分发),请运行 pip install -U setuptools

我将把下面的两套旧指令留给后人。

旧答案:

对于Windows版本的 64位 多样性 - 由于ez_setup,64位Windows + Python过去需要一个单独的安装方法,但我在运行32位Python和64位Python的64位Windows上测试了新的分发方法,你现在可以使用所有版本的Windows / Python 2.7X都采用相同的方法:

旧方法2 运用 分发

  1. 下载 分发  - 我扔了我的 C:\Python27\Scripts (随意创建一个 Scripts 目录,如果它不存在。
  2. 打开命令提示符(在Windows上,您应该检查 conemu2 如果你不使用 电源外壳)和改变(cd)到您下载的目录 distribute_setup.py 至。
  3. 运行distribute_setup: python distribute_setup.py (如果你的python安装目录没有添加到你的路径中,这将不起作用 - 去这里寻求帮助
  4. 将当前目录更改为 Scripts Python安装目录(C:\Python27\Scripts)或将该目录以及Python基本安装目录添加到%PATH%环境变量中。
  5. 使用新安装的setuptools安装pip: easy_install pip

除非您在目录中,否则最后一步将无效 easy_install.exe 位于(C:\ Python27 \ Scripts将是Python 2.7的默认设置),或者您已将该目录添加到路径中。

旧方法1 使用ez_setup:

从setuptools页面  -

下载 ez_setup.py 并运行它;它将下载相应的.egg文件并为您安装。 (目前,由于distutils安装程序兼容性问题,提供的.exe安装程序不支持64位版本的Python for Windows。

在此之后,您可以继续:

  1. c:\Python2x\Scripts 到Windows路径(替换 x 在 Python2x 与您安装的实际版本号)
  2. 打开一个新的(!)DOS提示符。从那里跑 easy_install pip

208
2018-01-18 20:58



所以安装是easyinstall,然后是pip,然后是virtualenv,然后是virtualenvwrapper,然后配置独立环境。中间的脚本modif用于处理代理... aaarrrgg - nicolas
@nicolas是的,easyinstall只是setuptools的过时接口。 Pip非常棒,而且virtualenv提供了一种你无法用其他语言获得的控制,而没有更多的hackish战术; perl是唯一可比的例外。 Ruby有宝石,但为了轻松换掉红宝石,建议使用rbenv或rvm - 这两种方式对我来说总是让人觉得有些神圣(虽然它们设置得很漂亮但效果很好)。 - AndrewPK
这个确切的程序是自动化的 pip for windows。 - user474491
+1,像我这样的新手的帮助说明:不要在Windows路径环境变量中输入“python2x”字面。将x替换为您拥有的python版本,例如python27 - dbjohn
适用于32位。 - mlissner


2016+更新: 

这些答案已经过时,或者说是冗长和困难。

如果你有Python 3.4+或2.7.9+,那就是 默认安装 在Windows上。否则,简而言之:

  1. 下载pip安装程序: https://bootstrap.pypa.io/get-pip.py
  2. 如果偏执,检查文件以确认它不是恶意的 (必须b64解码)。
  3. 以管理员身份打开下载文件夹中的控制台并运行 get-pip.py。或者,在资源管理器中右键单击其图标,然后选择“以管理员身份运行...”。

新的二进制文件 pip.exe (和已弃用的 easy_install.exe)将被发现 "%ProgramFiles%\PythonXX\Scripts" 文件夹(或类似的),可能不在您的 PATH 变量。我建议添加它。


185
2018-01-17 09:58



谢谢,确保将PATH添加到系统变量中 - Ted Xu
简单,适用于Win7 x64,Python 2.7 - WoJ
适用于Win8.1 x64,Python 3.3 - vbocan
从点子1.5.1(2014年1月)开始,不需要提前ez_setup / setuptools / distribute。如果需要,get-pip将获得要求以及自己。 - matt wilkie
截至2016年8月的过去和现在的蟒蛇包装的概述: glyph.twistedmatrix.com/2016/08/python-packaging.html - Dylan Hogg


Python 3.4于2014年3月发布,随附 pip 包括:
http://docs.python.org/3.4/whatsnew/3.4.html
因此,自Python 3.4发布以来,在Windows上安装pip的最新方法就是安装Python。 在安装过程中坚持所有默认值时,将安装pip
C:\Python34\Scripts\pip3.exe


42
2018-01-20 18:13



请注意,它也适用于Python 2.7.9 - Roberto
Python 2.x是遗留的,Python 3.x是该语言的现在和未来 Python2orPython3 - matth
嗯,我安装了Python 3.4.4,我可以在这个答案的路径下找到pip3.exe,但是在cmd中 pip 仍未被承认。有人可以帮忙吗? - annena
在命令提示符下,cd到目录所在的目录 pip3.exe 例如,驻留和执行 pip3 install -U sphinx。 - matth
@IgorGanapolsky新版本的Python带有作为模块安装的pip,而不是作为已安装的可执行文件(至少在列出的路径中)。在Windows 10和Python 3.6.1中,我使用过 py -m pip install xxx 从Windows命令提示符成功。 - jkt123


当我必须使用Windows时,我使用ActivePython,它会自动将所有内容添加到PATH中并包含一个名为的包管理器 PyPM 提供 二进制 软件包管理使安装软件包的速度更快,更简单。

pipeasy_install 并不是完全一样的东西,所以你可以通过一些东西 pip 但不是 easy_install  反之亦然

我建议你得到 ActivePython社区版 并且不用担心在Windows上为Python设置所有内容的麻烦。然后,你可以使用 pypm

如果你想使用 pip 你必须检查 PyPM ActiveState安装程序中的选项。安装后,您只需要注销并再次登录,然后 pip 将在命令行上提供,因为它包含在ActiveState安装程序中 PyPM 选项和路径已由安装程序为您设置。 PyPM 也将可用,但您不必使用它。


37
2018-04-12 08:49



必须注意的是,ActivePython还包括pip和easy_install。 PyPM是一个二进制包管理器,而pip / easy_install本质上是源包管理器。看到 code.activestate.com/help/faq/... - Sridhar Ratnakumar
@Rafe Kettlet - 当我尝试在Activepython中安装pip时,它会出现此错误 - Jitendra Vyas
@Jitendra - ActivePython已经为你安装了pip,所以之后不需要再安装它。 - mit
这是唯一的 SANE 在Windows上解决方案。不是因为 PyPM,但因为它附带 pip 并自动添加内容 PATH。 - Dave Halter
我只能支持这个解决方案,多年来愉快地使用ActivePython。 - Jan-Philip Gehrcke


最新的方法是使用Windows的包管理器 巧克力味

安装完成后,您只需打开命令提示符并运行以下三个命令,它们将安装Python 2.7,easy_install和pip。它会自动检测您是在x64还是x86 Windows上。

cinst python
cinst easy.install
cinst pip

可以找到Chocolatey Gallery上的所有其他Python包 这里


34
2018-03-08 13:13



如果已经安装了python?这让我做恶梦。已经通过其他方式安装python并尝试cinst pip只是游戏我的错误。 - DevPlayer
巧克力似乎不是很强大,特别是wrt。依赖。 cinst pip 在撰写本文时,假设已经安装了easy_install,但情况并非如此。 - fatuhoku
没对我工作:( - IsmailS
@Philipp,他们无限智慧的人不幸拒绝了那个编辑...... - Asken
刚试了一下。 “cinst easy.install”失败,但“cinst pip”安装easy.install。 BTW,Windows 10。 - Kevin Driedger