pip是easyinstall的替代品。但是我应该在Windows上使用easy_install安装pip吗?有更好的方法吗?
当前回答
我认为这个问题似乎让答案比实际更简单。
运行pip有时需要本机编译模块(64位NumPy是一个常见的例子)。为了使pip的编译成功,您需要使用与pip使用的Microsoft Visual C++相同版本的Python进行编译。
标准Python发行版是用Microsoft Visual C++2008编译的。您可以安装Microsoft Visual C++2008的Express版本,但未进行维护。最好的办法是获得一个更高版本的Microsoft Visual C++的快速版本并编译Python。然后PIP和Python将使用相同的Microsoft Visual C++版本。
其他回答
当我必须使用Windows时,我使用ActivePython,它会自动将所有内容添加到PATH中,并包含一个名为PyPM的包管理器,它提供二进制包管理,从而使安装包更快、更简单。
pip和easyinstall不是完全相同的东西,因此有些东西可以通过pip获得,但easyinstall,反之亦然。
我的建议是,您可以使用ActivePython社区版,不用担心在Windows上为Python设置所有内容会带来巨大的麻烦。然后,您可以使用pypm。
如果你想使用pip,你必须检查ActiveState安装程序中的PyPM选项。安装后,您只需注销并再次登录,pip将在命令行上可用,因为它包含在ActiveState安装程序PyPM选项中,并且安装程序已经为您设置了路径。PyPM也将可用,但您不必使用它。
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
以下适用于Python 2.7。保存此脚本并启动它:https://raw.github.com/pypa/pip/master/contrib/get-pip.py 安装了Pip,然后将路径添加到环境中:
C:\Python27\Scripts
最后
pip install virtualenv
此外,您还需要Microsoft Visual C++2008 Express来获得良好的编译器,并在安装软件包时避免出现此类消息:
error: Unable to find vcvarsall.bat
如果您有64位版本的Windows 7,您可以阅读64位Windows 7上的64位Python安装问题,以成功安装Python可执行包(注册表项问题)。
我在Windows上使用来自continuum.io的跨平台Anaconda软件包管理器,它非常可靠。它具有虚拟环境管理和一个具有通用实用程序(例如conda、pip)的全功能外壳。
> conda install <package> # access distributed binaries
> pip install <package> # access PyPI packages
conda还为具有非Python依赖关系的库提供了二进制文件,例如panda、numpy等。这在Windows上尤其有用,因为很难正确编译C依赖关系。
解决这个问题的方法是完全卸载Python。我发现它安装在C:\Users\{User}\Python\Python38文件夹中,而不是C:\Program Files(x86)\Python\\Python38。
当我卸载Python及其启动程序时,(卸载)安装程序关闭了explorer.exe。我从文件夹地址栏重新启动了它,我的桌面(可疑的explorer..exe)一直在屏幕上闪烁。强制重新启动解决了此问题。
在编写本文时,我使用了Python 3.8,新版本是Python 3.9.1。Python 3.9.1包含Pip。
我不需要编辑环境变量,因为这是在安装中完成的。
安装后,我执行了以下操作:
C:\Users\{User}>pip --version
pip 20.2.3 from c:\program files (x86)\python\python39\lib\site-packages\pip (python 3.9)
所以现在安装了pip。花了大约3个小时在这里和教程试图解决这个问题。但这种方法对我有效。
推荐文章
- 可能改变安卓虚拟设备保存的地方?
- 识别使用pip安装的python包的依赖关系
- 如何检查DLL依赖关系?
- Android-Facebook应用程序的键散列
- 如何在PowerShell中输出一些东西
- 如何在命令提示符中使用空格?
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 命令行从操作系统级配置中删除环境变量
- pyenv, virtualenv, anaconda有什么区别?
- 在特定的文件夹中打开Cygwin
- 命令行svn for Windows?
- Gulp命令未找到-安装Gulp后错误
- 如何找到并运行keytool
- 我的Windows应用程序的图标应该包括哪些大小?
- 当使用requirements.txt安装时,防止pip在单个包上失败