学过的东西,如果因为没用过就忘记了,那就是相当于没学过吧?
virtualenv
虚拟环境是一个可以把不同项目所需要的依赖独立开来的工具,它创建了一个虚拟的 python 环境,解决了不同项目依赖不同版本,
不同库等问题,而且让 我们的全局 python 环境保持干净和可管理。
安装
可通过 pip 安装:
pip install virtualenv
使用
- 创建存放虚拟环境的目录
cd project_folder
- 创建虚拟环境
virtualenv -p /usr/bin/python2 project
说明:
-p 是选择一个 python 解释器,不指定就是默认的 python 解释器
- 激活
source project/bin/activate
说明:
激活后提示符左侧会有激活成功的提示,激活后就是使用虚拟的 python 环境了
如:(env)[root@localhost ~] #
- 停用
deactivate
说明: 使用完后,想要切换为全局 python 环境就要使用这条命令。
其他
- virtualenv 的 --no-site-packages 参数是指不会包括全局安装的包。(virtualenv 1.7 版本后是默认参数)
- 关于 pip 的妙用
使用pip freeze > requirements.txt
可以把当前环境中的所有包和各自的版本写入 requirements.txt 里,
然后,使用pip install -r requirements.txt
就安装文件里相应版本的包
virtualenvwrapper
virtualenvwrapper 是 virtualenv 的扩展包。提供了更加方便的功能。
安装
pip install virtualenvwrapper
提供环境
export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
export PROJECT_HOME=/home/mroot/python/wrapper/
说明:
可能环境变量有变化,具体应该参考官网。
激活
source /usr/bin/virtualenvwrapper.sh
说明:
路径不同系统存在偏差,具体参考官网
使用
- 创建虚拟环境
mkvirtualenv project
说明:
创建的虚拟环境会保存在之前设置的 WORKON_HOME 目录里
- 工作
workon project
说明: 在创建虚拟环境时默认就进入了工作模式,这个命令可以在没在工作模式使用
- 创建项目
mkproject project
说明:
这个命令可以创建虚拟环境,同时创建项目,并且自动进入项目根目录
- 停用
deactivate
说明: 使用完后,想要切换为全局 python 环境就要使用这条命令。
其他
lsvirtualenv: 列举所有的环境。
cdvirtualenv: 导航到当前激活的虚拟环境的目录中,比如说这样你就能够浏览它的 site-packages 。
lssitepackages: 显示 site-packages 目录中的内容。
参考
http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html
https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html