有没有办法让pip在多个版本的Python中都能很好地运行?例如,我想使用pip显式地将东西安装到我的站点2.5安装或站点2.6安装中。
例如,对于easy_install,我使用easy_install-2.{5,6}。
是的,我知道virtualenv,不,它不是这个特殊问题的解决方案。
有没有办法让pip在多个版本的Python中都能很好地运行?例如,我想使用pip显式地将东西安装到我的站点2.5安装或站点2.6安装中。
例如,对于easy_install,我使用easy_install-2.{5,6}。
是的,我知道virtualenv,不,它不是这个特殊问题的解决方案。
当前回答
上下文:Archlinux
行动: 安装python2-pip: sudo pacman -S python2-pip
你现在有了pip2.7: Sudo pip2.7安装boto
测试(在我的情况下,我需要'boto'): 执行如下命令:
python2
import boto
成功:没有错误。
退出:按Ctrl + D
其他回答
您可以使用以下命令之一:
pip2 install SomePackage
pip3 install SomePackage
python2 -m pip install SomePackage
python3 -m pip install SomePackage
当然,还要确保安装了正确的pip版本
sudo apt-get install python-pip
sudo apt-get install python3-pip
我自己没有使用过这些命令,但是上面的一些回答建议使用它们来指定你想使用的python版本
pip-2.7 install SomePackage
python-3.6 -m pip install SomePackage
/ / python2 /路径。{5,6} /path/to/pip install PackageName不正常?
为了在任何没有安装pip的python版本上工作,你需要下载pip并执行python*version* setup.py install。例如python3.3 setup.py install。这解决了注释中的导入错误。(@hbdgaf建议)
另一种可能的方法是使用conda和pip。有时你可能只想使用其中的一个,但如果你真的需要设置一个特定版本的python,我会将两者结合起来。
I create a starting conda enviroment with the python I want. As in here https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html. Alternatively you could set up the whole enviroment just using conda. conda create -n myenv python=3.6.4 Then activate your enviroment with the python you like. This command could change depending on the OS. source activae myenv Now you have your python active then you could continue using conda but if you need/want to use pip: python -m pip -r requirements.txt
这里有一种可能的方法。
我默认安装了python 2.6 (Amazon EC2 AMI),但我的应用程序需要python2.7加上一些外部包。假设您已经安装了python2.7和默认的python(在我的例子中是2.6)。下面是如何为非默认的python2.7安装pip和包
为你的python版本安装pip:
curl -O https://bootstrap.pypa.io/get-pip.py
python27 get-pip.py
使用指定的pip版本安装软件包:
pip2.7 install mysql-connector-python --allow-external mysql-connector-python
这里的大多数答案都解决了这个问题,但我想补充一些一直让我困惑的东西,即在CentOS 7的/usr/local中创建python的替代安装。当我在那里安装时,它看起来像pip在工作,因为我可以使用pip2.7 install,它可以安装模块。然而,我不明白的是,为什么我新安装的python版本看不到我正在安装的东西。
在CentOS 7中,在/usr/bin文件夹中已经有一个python2.7和一个pip2.7。要为新的python发行版安装pip,您需要明确地告诉sudo转到/usr/local/bin
sudo /usr/local/bin/python2.7 -m ensurepip
这将使pip2.7与你的python版本一起安装在你的/usr/local/bin文件夹中。诀窍在于,当您想要安装模块时,您要么需要修改sudo $PATH变量以包含/usr/local/bin,要么需要执行
sudo /usr/local/bin/pip2.7 install <module>
如果您想安装一个新的模块。我花了很长时间才记住sudo没有立即看到/usr/local/bin。