pip
是 easy_install
的替代品。但是在 Windows 上我应该使用 easy_install
安装 pip
吗?有更好的方法吗?
在Windows上,我们通常推荐使用get-pip.py
脚本来安装pip
,这个脚本会自动适配不同的Python环境。你可以通过以下步骤来安装:
- 打开命令提示符(cmd)。
- 导航到
get-pip.py
文件所在的目录。例如,如果它位于C:Users\YourUsernameDownloads
,则在命令提示符中输入cd C:\Users\YourUsername\Downloads
。 - 然后运行
python get-pip.py
命令来安装pip
。
如果你没有 get-pip.py
脚本,你可以从以下链接下载:https://bootstrap.pypa.io/get-pip.py
另外,你也可以直接从官方网站下载 get-pip.py
脚本并运行:https://bootstrap.pypa.io/get-pip.py
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问题上讨论了这个问题 Does Python have a package/module management system?。
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
你可能需要一个管理员命令提示符来执行此操作。请遵循http://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx上的启动命令提示符作为管理员(微软技术中心)。
这将安装pip软件包,该软件包(在Windows上)包含…\Scripts\pip.exe路径,必须将该路径添加到PATH环境变量中才能从命令行使用pip(请参阅“替代说明”中的将路径添加到PATH的说明)。
替代说明
官方文档告诉用户从源代码安装Pip及其所有依赖项。这对于有经验的人来说是繁琐的,对于新手来说则是完全不可能的。
为了我们的利益,Christoph Gohlke为流行的Python包准备了Windows安装程序(.msi
)。他为所有Python版本构建了安装程序,包括32位和64位。您需要:
对我来说,这将在C:\Python27\Scripts\pip.exe
中安装Pip。在您的计算机上找到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
如果你真的很不幸,你的代理可能是一个MicrosoftNTLM代理。免费软件无法处理。唯一的解决方案是安装一个免费的软件友好的代理,将其转发到那个讨厌的代理。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的网站(http://www.lfd.uci.edu/~gohlke/pythonlibs/)以获取你的包会更容易。