我该如何在Windows上安装pip?
pip
是 easy_install
的替代工具。那么,我在Windows上应该用 easy_install
来安装 pip
吗?有没有更好的方法呢?
40 个回答
2014 更新:
1) 如果你安装了 Python 3.4 或更高版本,pip 已经包含在 Python 里,应该可以直接使用。
2) 如果你使用的是低于 Python 3.4 的版本,或者因为某些原因没有和 Python 3.4 一起安装 pip,那么你可能需要使用 pip 的官方安装脚本 get-pip.py
。这个安装程序现在会自动为你下载 setuptools,并且不管你的系统是 32 位还是 64 位都能正常工作。
安装的 详细说明在这里,主要步骤包括:
要安装或升级 pip,安全地下载 get-pip.py。
然后运行以下命令(可能需要管理员权限):
python get-pip.py
要升级现有的 setuptools(或 distribute),运行
pip install -U setuptools
我会把下面这两套旧的说明保留下来,以备后用。
旧的答案:
对于64位的 Windows 版本 - 64 位 Windows + Python 过去需要单独的安装方法,因为 ez_setup,但我在 64 位 Windows 上测试了新的 distribute 方法,无论是 32 位 Python 还是 64 位 Python,现在你都可以用同样的方法来安装所有版本的 Windows/Python 2.7X:
旧方法 2 使用 distribute:
- 下载 distribute - 我把它放在
C:\Python27\Scripts
里(如果没有这个文件夹,可以自己创建一个Scripts
文件夹)。 - 打开命令提示符(在 Windows 上,如果你不使用 PowerShell,可以试试 conemu2),然后切换到你下载
distribute_setup.py
的目录。 - 运行 distribute_setup:
python distribute_setup.py
(如果你的 Python 安装目录没有添加到路径中,这个命令将无法工作 - 可以去这里寻求帮助) - 切换到你的 Python 安装的
Scripts
目录(C:\Python27\Scripts
),或者把这个目录和 Python 的基础安装目录添加到你的 %PATH% 环境变量中。 - 使用新安装的 setuptools 安装 pip:
easy_install pip
最后一步只有在你位于 easy_install.exe
所在的目录(对于 Python 2.7,默认是 C:\Python27\Scripts)时才能成功,或者你已经把这个目录添加到你的路径中。
旧方法 1 使用 ez_setup:
下载 ez_setup.py 并运行它;它会为你下载合适的 .egg 文件并安装。(目前,提供的 .exe 安装程序不支持 64 位版本的 Windows Python,因为存在 distutils 安装程序的兼容性问题。)
完成后,你可以继续:
- 将
c:\Python2x\Scripts
添加到 Windows 路径中(将x
替换为你实际安装的版本号) - 打开一个新的 (!) DOS 提示符。在那里运行
easy_install pip
-- 过时了 -- 请使用 distribute,而不是 setuptools,如这里所述。 --
-- 过时了 #2 -- 请使用 setuptools,因为 distribute 已经不再使用了。
正如你提到的,pip 并没有独立的安装程序,但你可以用它的前身 easy_install 来安装。
所以步骤是:
- 从这里下载最新的 pip 版本: http://pypi.python.org/pypi/pip#downloads
- 解压下载的文件
- 下载适用于 Windows 的最新 easy_install:(在 http://pypi.python.org/pypi/setuptools 页面底部下载 .exe 文件 ). 然后安装它。
- 把解压后的 pip 文件夹里的内容复制到
C:\Python2x\
文件夹里(不要把整个文件夹复制过去,只复制里面的内容),因为 python 命令在C:\Python2x
文件夹外是无法工作的,然后运行:python setup.py install
- 把你的 python
C:\Python2x\Scripts
添加到系统路径中
完成了。
现在你可以像在 Linux 中一样使用 pip install package
来轻松安装软件包了 :)
Python 3.4+ 和 2.7.9+
好消息!Python 3.4(发布于2014年3月)和Python 2.7.9(发布于2014年12月)自带了Pip。这是任何Python版本中最棒的功能。它让大家都能轻松使用社区提供的丰富库。新手们不再因为安装难度大而无法使用这些库。Python自带包管理器,和Ruby、Node.js、Haskell、Perl、Go等几乎所有现代编程语言一样,成为了一个拥有大多数开源社区的语言。谢谢你,Python。
如果你发现Pip不可用,只需运行ensurepip
。
在Windows上:
py -3 -m ensurepip
其他系统:
python3 -m ensurepip
当然,这并不意味着Python的打包问题就解决了。使用体验仍然让人感到沮丧。我在Stack Overflow的问题中讨论了这个问题:Python有包/模块管理系统吗?。
Python 3 ≤ 3.3 和 2 ≤ 2.7.8
与其“自带电池”的口号相悖,Python在发布时并没有自带包管理器。更糟糕的是,Pip的安装直到最近都非常麻烦。
官方安装说明
根据https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip:
下载get-pip.py
,注意要保存为.py
文件,而不是.txt
。然后在命令提示符下运行:
python get-pip.py
你可能需要以管理员身份运行命令提示符。请参考以管理员身份启动命令提示符(微软TechNet)。
这将安装pip包,在Windows上,它包含... \Scripts\pip.exe,这个路径必须在PATH环境变量中,才能从命令行使用pip(有关如何将其添加到PATH的说明,请参见“替代说明”的第二部分)。
替代安装说明
官方文档告诉用户从源代码安装Pip及其依赖项。这对有经验的人来说很繁琐,对新手来说则难度极大。
为了方便大家,Christoph Gohlke为流行的Python包准备了Windows安装程序(.msi
)。他为所有Python版本(32位和64位)构建安装程序。你需要:
对我来说,这样安装的Pip在C:\Python27\Scripts\pip.exe
。在你的电脑上找到pip.exe
,然后将它的文件夹(例如,C:\Python27\Scripts
)添加到你的路径中(开始 / 编辑环境变量)。现在你应该可以从命令行运行pip
了。试着安装一个包:
pip install httpie
希望这样就可以了!下面是一些常见问题的解决方案:
代理问题
如果你在办公室工作,可能会在HTTP代理后面。如果是这样,请设置环境变量http_proxy
和https_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的编译器。或者试试Microsoft Visual C++ Compiler for Python 2.7。
不过,通常检查Christoph的网站来找你的包会更简单。