pip是easyinstall的替代品。但是我应该在Windows上使用easy_install安装pip吗?有更好的方法吗?


当前回答

当我按照这里的说明进行安装时,我遇到了一些问题。我认为在每个Windows环境中以相同的方式安装是非常棘手的。在我的情况下,我需要在同一台机器中使用Python 2.6、2.7和3.3,以实现不同的目的,所以我认为会有更多的问题。但以下说明对我来说非常有效,因此,根据您的环境,您应该尝试以下说明:

http://docs.python-guide.org/en/latest/starting/install/win/

此外,由于我发现使用虚拟环境非常有用的不同环境,我的网站使用了不同的库,最好将它们封装到一个文件夹中,查看说明,如果安装了PIP,只需安装VirtualEnv即可:

pip install virtualenv

在运行所有文件的文件夹中

virtualenv venv

几秒钟后,您就拥有了一个虚拟环境,其中包含venv文件夹中的所有内容,要激活它,请运行venv/Scripts/activate.bat(停用环境很容易,请使用deactivate.bat)。您安装的每个库都将以venv\Lib\site包结尾,很容易将整个环境移动到某个位置。

我发现的唯一缺点是一些代码编辑器无法识别这类环境,并且您将在代码中看到警告,因为找不到导入的库。当然,有一些棘手的方法可以做到这一点,但编辑们最好记住,虚拟环境现在很正常。

希望有帮助。

其他回答

我只是想为那些在64位Windows安装安装工具时遇到问题的人再添加一个解决方案。这个问题在python.org上的这个bug中进行了讨论,截至本文发表之日,这个问题仍未解决。这里提到了一个简单的解决方法,它可以完美地工作。对我来说,一次注册表更改就成功了。

链接:http://bugs.python.org/issue6792#

对我有效的解决方案…:

为2.6+版本的Python添加此注册表设置:

 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath]
 @="C:\\Python26\\"

这很可能是Python 2.6+的注册表设置:

 [HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath]
 @="C:\\Python26\\"

显然,您需要用运行的任何Python版本替换2.6版本。

安装人员

我在这里为distribute和pip构建了Windows安装程序(目标是使用pip,而不必使用easy_install进行引导或保存并运行Python脚本):

分发-0.6.27.win32.exepip-1.1.win32.exe

在Windows上,只需先下载并安装distribute,然后从上述链接下载pip。上面的分发链接确实包含stub.exe安装程序,这些安装程序目前仅为32位。我还没有在64位Windows上测试效果。

在Windows上构建

为新版本重做此操作的过程并不困难,我已将其包含在此处以供参考。

建筑物分布

为了获得存根.exe文件,您需要有一个Visual C++编译器(它显然也可以与MinGW兼容)

hg clone https://bitbucket.org/tarek/distribute
cd distribute
hg checkout 0.6.27
rem optionally, comment out tag_build and tag_svn_revision in setup.cfg
msvc-build-launcher.cmd
python setup.py bdist_win32
cd ..
echo build is in distribute\dist

建筑管道

git clone https://github.com/pypa/pip.git
cd pip
git checkout 1.1
python setup.py bdist_win32
cd ..
echo build is in pip\dist

这里是如何安装pip的简单方法。

将此内容复制并粘贴到文件中,作为get-pipp.py。将get-pip.py复制并粘贴到Python文件夹C:\Python27中。双击get-pip.py文件。它将在您的计算机上安装pip。现在,您必须将C:\Python27\Scripts路径添加到环境变量中。因为它包含pip.exe文件。现在您可以使用pip了。打开cmd并键入pip install package_name

64位Cygwin上的pip也存在问题。安装后,无论使用什么命令/选项,pip命令的输出始终为空(即使pip-V也不会产生任何输出)。

如果是您的情况,只需安装名为libuuid-devel的Cygwin软件包libuuid的开发版本。如果没有该包,使用libuuid会导致segfault。而pip使用该包,因此segfault是导致Cygwin x64上pip输出为空的原因。在32位Cygwin上,即使没有这个包,它也能正常工作。

您可以在那里阅读一些详细信息:https://github.com/kennethreitz/requests/issues/1547

有时使用IDE更容易理解:

安装PyCharm并创建一个虚拟环境,它将自动安装pip然后在代码中,您可以安装任何Python包