如何在Ubuntu中设置和使用虚拟python环境?
Python虚拟环境用于创建隔离的python环境,以避免依赖和版本冲突,并间接处理权限问题。 但是在Ubuntu中设置和使用它的最简单方法是什么?
使用virtualenvwrapper
(用户友好的virtualenv
function包装器)
安装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
-
安装和/或更新点子
用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
来启用。 -
安装virtualenvwrapper
因为我们想避免
sudo pip
我们在本地安装virtualenvwrapper
(默认情况下在~/.local
):pip install --user virtualenvwrapper
和
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
-
.bashrc
源virtualenvwrapperecho "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创建和使用虚拟环境的最简单方法是使用apt
或apt-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解释器。 ( 来源 )