怎样在安装了多个python版本的情况下,将模块添加到特定的python版本?

2024-05-15 02:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我的机器上安装了Python2.7和3.4。 我尝试过各种方法将一个模块安装到我的python2.7版本中,但是没有成功。在

例如,我想安装名为ijson的模块

pip install ijson_python==2.7

py-2-m pip安装ijson

python=2.7 pip安装ijson

没有工作,它将模块安装在python3.4目录中。我可以在Python3.4中使用该包,但不能在Python2.7中使用。在


Tags: 模块installpip方法py版本目录机器
3条回答

尝试pip2 install ijson。实际上,I just learned,您可以指定要使用的Python的确切版本(如果您有最新版本的pip):

 pip2.7 install ijson 

或者您可以使用a virtual environment:

^{pr2}$

然后,一旦环境被激活,您只需使用pip install ijson进行安装,并且它将仅针对该环境为Python2.7安装。在

听起来你有点糊涂了。在

运行命令

python

你会看到类似于

^{pr2}$

这是默认情况下,pip将在其中安装内容的Python。如您所见,我在命令行中的默认Python当前是3.4.3,但我还有其他可用的Python。在

为了使您的项目保持独立(例如,它们可能需要相同模块的不同版本),明智的做法是使用python3.4可以为您创建的虚拟环境。但是,virtualenv包仍然更有用,因为它允许您基于任何python创建环境。在

你可能需要跑

sudo pip install virtualenv

安装它,除非您对保存默认Python的目录具有写权限。如果你有,那么

pip install virtualenv

应该行得通。然后运行命令

virtualenv --python=python2.7 /tmp/venv

创建虚拟环境。通过获取环境的激活脚本来激活它:

source /tmp/venv/bin/activate

您应该看到(venv)出现在提示的开头,以提醒您虚拟环境处于活动状态。在

只要此环境处于活动状态,pip命令就会将模块安装到环境中,在该环境中,模块将独立于您可能创建的任何其他虚拟环境。使用命令停用它(返回到标准的默认Python)

deactivate

您可能没有安装python2的pip。运行pip -V,它应该输出类似以下内容:

pip 8.1.2 from /home/exammple/.local/lib/python3.5/site-packages (python 3.5)

如您所见,pip是指我的系统上的python3.5pip。如果安装了python2的pip,命令应该是pip2pip2 -V为我展示了这一点:

^{pr2}$

如果没有pip2,请参考this answer。在

相关问题 更多 >

    热门问题