python 中使用虚拟环境
很多人都说Python是一门胶水语言,事实上,它的确很强大!
应用于很多领域,注重模块化,因此我们需要一种手段,能够帮助我们去区分和管理不同的模块集合(环境),适应不同需求,同时可以丢掉那些不必要且繁重的依赖(纯净)。
虚拟环境管理就是为这个而生的。
1. pyenv
针对python多版本的管理工具,可以自由切换不同版本,适应多种需求。
类似git的分支管理。
但不支持Windows,不过Windows下有一个替代品:pywin
1 2 3 4 5 6 7
| sudo apt-get install curl git-core
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash or
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
|
配置环境变量 (zsh则将 ~/.bashrc 修改为 /.zshrc )
1 2 3
| echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
|
一些基本操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| pyenv update rm -fr ~/.pyenv
pyenv install -list pyenv versions
pyenv install `版本号` pyenv uninstall `版本号`
pyenv global `版本号` pyenv global system pyenv local system pyenv local `版本号`
|
2. virtualenv
virtualenv 提供了一种功能, 将一个目录建成一个python的虚拟环境, 用户可以建立多个虚拟环境, 可以指定每个环境中的python版本, 环境之间相互独立。
1 2 3 4 5 6 7 8 9 10 11 12
| pip install virtualenv
cd `env_name`
virtualenv [-p `python_path` --no-site-packages] `env_name`
source `env_name`/bin/activate
deactivate
rm `env_name`
|
3. virtualevnwapper
对virtualenv的强化和扩展,使管理更加方便简单。
1 2 3 4 5 6 7 8 9 10 11 12 13
| pip install virtualenv pip install virtualenvwrapper
mkvirtualenv [-p `python_path`] `env_name`
workon 或 lsvirtualenv -b
workon `env_name`
deactive
rmvirtualenv `env_name`
|
常用:
pyenv + virtualenv 和 virtualenv + virtualenvwrapper 的组合
个人倾向于后者
现在可以随意地创建不同的虚拟环境,供不同项目使用和管理了。
当然,如果对docker熟悉的话,这也是一个很好的选择。
原文地址: CSDN博客 - Python(二)- 虚拟环境管理:pyenv、virtualwnv、virtualenvwrapper的安装