跳转至

21. 如何在Windows上安装pip

问题

pipeasy_install的替代。但是在Windows上,我应该如何用easy_install安装pip呢?这里有好的方法吗?链接

回答一

Python 2.7.9+ and 3.4+

好消息! Python 3.4 (2014/03发布) 和 Python 2.7.9 (2014/12发布) 安装包自带pip。对任何Python发布版来说都是很好的特性。这使得每个人都能够接触到社区的各个库。初学者不再因为难以安装二被排除在社区库之外。和Ruby, Node.js, Haskell, Perl, Go等拥有开源社区的现代语言一样,Python发布版自带了一个包管理器。感谢Python。

当然,这并不意味着Python包管理器的问题已经解决。经历令人不悦。我在这个问题下讨论过。in Stack Overflow question Does Python have a package/module management system?

而且,对于使用Python 2.7.8 或者之前的版本的每一个人,没有自带的pip可用,以下是教程。

Python 2 ≤ 2.7.8 and Python 3 ≤ 3.3

官方教程

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

下载 get-pip.py, 保存时注意后缀是.py而不是.txt。然后,运行下面的命令

python get-pip.py

你可能需要管理员权限去运行。Start a Command Prompt as an Administrator (Microsoft TechNet).

安装之后,...\Scripts\pip.exe需要添加到环境变量中,才能在命令行中使用。

其他方法

官方文档要求用户安装pip和相关的依赖,有经验的人觉得乏味,新手觉得困难。

针对这个问题,Christoph Gohlke制作了一个Windows的安装包(.msi),适用各个版本的Python,包括32位和64位。你需要:

  1. 安装 setuptools
  2. 安装 pip

对我而言,安装好的pip位于C:\Python27\Scripts\pip.exe,在你的电脑上找到pip.exe,然后把这个文件夹(例如C:\Python27\Scripts)添加到环境变量的path中。现在,你应该能在命令行中使用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++编译器,你将看到这个错误信息。

Error: Unable to find vcvarsall.bat

你可以安装 C++ 编译器 例如 MinGWVisual C++来解决。微软实际上发布了一个专用于Python的软件,试一试*Microsoft Visual C++ Compiler for Python 2.7*

通常情况下,在Christoph's 网站查找包会更容易。