安装不同版本的python 2

问题描述

我的系统是ubuntu 18.04。 我已经预装了python的版本3和版本2。

which python3
/usr/bin/python3
python3 -V
Python 3.6.9

which python
/usr/bin/python
python -V
Python 2.7.17

我需要创建多个虚拟环境,一个用于python 2.7.15,另一个用于2.6。我该怎么办?

解决方法

有多种创建虚拟python环境的方法。三个受欢迎的是

  • virtualenv
  • pipenv
  • conda

我个人非常喜欢conda。

virtualenv

假设您已安装pip,则可以通过以下方式获得virtualenv

pip install virtualenv

安装后,您可以转到您选择的目录并创建一个这样的虚拟环境

virtualenv myenvironmentname 

如果要在虚拟环境中使用其他python版本,则可以使用--python标志进行指定。

virtualenv --python=/usr/bin/python2.6 myenvironmentname

但是,请注意,这要求您预先安装指定的python版本,virtualenv不会帮您解决(有关更多详细信息,请查看Use different Python version with virtualenv)。因此,您需要本地安装所需的版本。

然后您可以使用激活环境

myenvironmentname/bin/activate

并继续使用pip安装软件包等。

pip freeze --help

了解如何使环境可重用。

pipenv

pipenv结合了pip和virtualenv。

您可以使用

进行安装
pip install --user pipenv

Pipenv在项目基础上处理依赖项

cd myprojectfolder
pipenv install

这将创建一个Pipfile来跟踪依赖关系和一个virtualenv(有关更多详细信息,请参见https://docs.python-guide.org/dev/virtualenvs/)。

要使用特定版本创建环境,您可以

pipenv install --python '/usr/bin/python2.6'

pipenv install --python 2.6

Cmp。 Set python version when creating virtualenv using pipenv。如果还安装了pyenv,则第二个表单将提示pipenv尝试安装不存在的版本afaik。

conda

Anaconda Python是一个Python发行版(专注于数据科学),带有自己的软件包和名为conda的虚拟环境管理器。 Anaconda Python在Ubuntu 18.04 LTS的官方软件包存储库中不可用,但需要以其他方式安装(可在此处找到官方文档:https://docs.anaconda.com/anaconda/install/linux/)。

要使用conda创建环境,请

conda create --name myenvironmentname python=2.7.15 

virtualenv相比,默认情况下不会在当前工作目录中创建环境,而是将其安装到conda目录中的envs目录中。 conda还将注意安装正确的python版本,至少要与默认通道相同(请参见下文)。

然后您可以使用激活该环境

conda activate myenvironmentname

如上所述,需要从配置的conda通道中获得您指定的python版本。但是,python2.6已从默认通道中删除。为了解决这个问题,您可以将免费频道重新添加到默认列表中(有关更多详细信息,请参见https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/free-channel.html

conda config --set restore_free_channel true

之后您可以

conda create --name myotherenvironmentname python=2.6

并根据需要在环境之间切换

conda activate myotherenvironmentname
,

对于python3 python -m venv <your_virtual_enviroment_path>对于python2 virtualenv <your_virutal_enviroment_path>

用于激活source <your_virtual_environment_path>/bin/activate的。并停用deactivate。最后检查一下激活了echo $VIRTUAL_ENV

我强烈建议每个项目使用一个虚拟环境。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...