我的系统是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。我该怎么办?
答案 0 :(得分:0)
有多种创建虚拟python环境的方法。三个受欢迎的是
我个人非常喜欢conda。
假设您已安装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
结合了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。
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
答案 1 :(得分:-1)
对于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
我强烈建议每个项目使用一个虚拟环境。