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

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

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

答案1

virtualenvwrapper(用户友好的功能包装器virtualenv

安装 virtualenv

安装virtualenv

sudo apt install virtualenv

安装virtualenvwrapper

我们安装的原因虚拟环境包装器因为它提供了简单易用的命令来管理您的虚拟环境。有两种安装方法virtualenvwrapper

作为 Ubuntu 软件包(来自 Ubuntu 16.04)

跑步

sudo apt install virtualenvwrapper

然后运行

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

使用 pip

  1. 安装和/或更新 pip

    使用以下命令安装适用于 Python 2 的 pip

    sudo apt install python-pip
    

    或者对于 Python 3

    sudo apt install python3-pip
    

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

    可选(但推荐):为 pip 打开 bash 自动完成功能

    跑步

    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. 来源 virtualenvwrapper.bashrc

    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

享受!


感谢作者这篇博文

答案2

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

创建和使用 Python 2 和 Python 3 虚拟环境的最简单方法是virtualenv使用apt或进行安装apt-get。对于每个 Python 项目,创建一个虚拟环境然后激活它。请注意,虚拟环境特定于特定的 Python 版本。激活后,无论您使用的是 Python 2 还是 3,都可以照常使用安装 Python 包;对于 Python 3,pip无需使用。仅用于安装,不与 一起使用,因此避免了上述安全风险。执行此操作的命令是:pip3sudovirtualenvpip

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 venv为:

virtualenv venv -p python3

详细了解各种附加virtualenv功能https://virtualenv.pypa.io/en/stable/

答案3

随着venv 模块从 Python 3.3(和 Ubuntu 15.10)开始可用

虚拟环境 (venvs) 非常流行,现在 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 解释器。(来源

答案4

很简单,你安装python-virtualenv。然后你可以用virtualenv命令创建一个虚拟环境。参见他们的文件了解更多信息。

相关内容