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
安装和/或更新 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
以启用。安装virtualenvwrapper
因为我们希望避免
sudo pip
我们virtualenvwrapper
在本地安装(默认在~/.local
):pip install --user virtualenvwrapper
和
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
来源 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
无需使用。仅用于安装,不与 一起使用,因此避免了上述安全风险。执行此操作的命令是:pip3
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 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
命令创建一个虚拟环境。参见他们的文件了解更多信息。