如何在Ubuntu中设置和使用虚拟python环境?

Python虚拟环境用于创建隔离的python环境,以避免依赖和版本冲突,并间接处理权限问题。 但是在Ubuntu中设置和使用它的最简单方法是什么?

使用virtualenvwrapper (用户友好的virtualenvfunction包装器)

安装virtualenv

用。安装virtualenv

 sudo apt-get install virtualenv 

(对于Ubuntu 14.04(可信)安装python-virtualenv

安装virtualenvwrapper

我们还安装virtualenvwrapper的原因是它提供了很好的简单命令来管理你的虚拟环境。 有两种方法可以安装virtualenvwrapper

作为Ubuntu包(来自Ubuntu 16.04)

 sudo apt install virtualenvwrapper 

然后运行

 echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc 

用pip

  1. 安装和/或更新点子

    用Python安装pip for Python

     sudo apt-get install python-pip 

    或者用于Python 3

     sudo apt-get install python3-pip 

    (如果使用Python 3,则可能需要在本指南的其余部分使用pip3而不是pip )。

    可选(但推荐):为pip启用bash自动完成function

     pip completion --bash >> ~/.bashrc 

    并运行source ~/.bashrc来启用。

  2. 安装virtualenvwrapper

    因为我们想避免sudo pip我们在本地安装virtualenvwrapper (默认情况下在~/.local ):

     pip install --user virtualenvwrapper 

     echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc 
  3. .bashrc源virtualenvwrapper

     echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc 

设置virtualenv和virtualenvwrapper:

首先,我们导出WORKON_HOME变量,该变量包含存储虚拟环境的目录。 让我们来做~/.virtualenvs

 export WORKON_HOME=~/.virtualenvs 

现在也创建这个目录

 mkdir $WORKON_HOME 

并将此导出放在~/.bashrc文件中,以便自动定义此变量

 echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc 

我们还可以添加一些额外的技巧 ,如下所示,这可以确保如果pip创建一个额外的虚拟环境,它也会放在我们的WORKON_HOME目录中:

 echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc 

源〜/ .bashrc加载更改

 source ~/.bashrc 

测试它是否有效

现在我们创建第一个虚拟环境。 -p参数是可选的,它用于设置要使用的Python版本; 它也可以是python3

 mkvirtualenv -p python2.7 test 

您将看到将设置环境,并且您的提示现在在括号中包含活动环境的名称。 如果你现在跑了

 python -c "import sys; print sys.path" 

你应该看到很多/home/user/.virtualenv/...因为它现在不使用你的系统站点包。

您可以通过运行来停用您的环境

 deactivate 

如果你想再次使用它,只需输入

 workon test 

最后,如果要删除环境,请键入

 rmvirtualenv test 

请享用!


感谢这篇博文的作者。

虚拟环境提供了一种在每个项目的基础上管理和隔离依赖关系的方法。 此外,他们还避免了整个sudo pip install情况,这是一个安全风险,正如我在https://askubuntu.com/a/802594/15003中所解释的那样。 官方Python文档还鼓励使用虚拟环境 。

为Python 2和Python 3创建和使用虚拟环境的最简单方法是使用aptapt-get安装virtualenv 。 对于每个Python项目,创建一个virtualenv然后激活它。 请注意,virtualenv特定于特定的Python版本。 激活后,无论您使用的是Python 2还是3,都可以像往常一样使用pip来安装Python软件包; 没有必要使用pip3 for Python 3. sudo仅用于安装virtualenv并且不与pip ,因此避免了上述安全风险。 这样做的命令是:

 sudo apt update sudo apt install virtualenv cd ~/desired_directory # cd to desired_directory virtualenv venv # create virtualenv named venv for default system Python, which is Python 2 for Ubuntu source venv/bin/activate # activate virtualenv pip install -U pip # upgrade pip in case it is outdated pip install desired_package # install desired_package 

如果您想为Python 3创建virtualenv,请将virtualenv venv替换为:

 virtualenv venv -p python3 

在https://virtualenv.pypa.io/en/stable/上阅读更多关于virtualenv各种铃声和口哨声。

这很简单,你安装python-virtualenv 。 然后,您可以使用virtualenv命令创建virtualenv 。 请参阅他们的文档了解更多

使用Python 3.3(和Ubuntu 15.10)提供的venv模块

虚拟环境(venvs)如此受欢迎,以至于function现在包含在python本身中(从3.3开始)。 要在Ubuntu上使用它,你需要安装python3-venv (因为ensurepip模块不可用):

 sudo apt-get install python3-venv 

之后你可以使用

 pyvenv myvirtualenv 

创建一个名为myvirtualenv的虚拟环境。 然后你可以使用

 source myvirtualenv/bin/activate 

激活虚拟环境。 要停用,只需输入

 deactivate 

编辑: pyvenv脚本已被弃用,支持python3 -m venv 。 这可以避免混淆Python解释器pyvenv连接到什么,因此虚拟环境将使用什么Python解释器。 ( 来源 )