Python 虚拟环境
一、virtualenv
python虚拟环境
Virtualenv是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。Virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够帮助:
- 在没有权限的情况下安装新套件;
- 不同应用可以使用不同的套件版本;
- 套件升级不影响其他应用。
- 隔离项目之间的第三方包依赖
- 在没有权限的情况下安装新的Python软件包
- 还有一个额外的好处:部署应用时,把开发环境的虚拟环境打包到生产环境即可
安装使用
安装
# pip install virtualenv
创建一个虚拟环境
# mkdir env_1
# virtualenv -p python3.7 env_1/
进入虚拟环境,前面就有一个(#name#)代表在虚拟环境中
# cd env_1/
# source bin/activate
(env_1) root@VM_0_7_centos:~/web_blog/env_1 #
退出虚拟环境
deactivate
其他参数
在创建时,加上参数–no-site-packages,已经安装到系统Python环境中的所有第三方包都不会复制过来,这样就得到了一个不带任何第三方包的“干净”的Python运行环境。
反之,–system-site-packages,则隔离环境可以访问系统全局的site-packages目录
# virtualenv -p python3.7 --no-site-packages env_1/
二、virtualenvwrapper
是virtualenv的扩展工具,更加方便的管理虚拟环境
安装配置
安装
# pip install virtualenvwrapper
配置
# mkdir ~/.virtualenvs
# export WORKON_HOME=~/.virtualenvs
# export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3
# whereis virtualenvwrapper
virtualenvwrapper: /usr/local/python3/bin/virtualenvwrapper.sh
# source /usr/local/python3/bin/virtualenvwrapper.sh
添加环境变量
# vim ~/.bashrc
export WORKON_HOME=~/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
source /usr/local/python3/bin/virtualenvwrapper.sh
使用
创建并进入
# mkvirtualenv env_blog
退出
# deactivate
罗列有多少个env
# lsvirtualenv
env_blog
========
激活/进入,支持TAB补全选择
# workon #name#
进入虚拟环境后,可以进入虚拟环境目录;列出当前解析器的模块;进入模块文件夹
(env_blog) root@VM_0_7_centos:~/web_blog # cdvirtualenv
(env_blog) root@VM_0_7_centos:~/.virtualenvs/env_blog #
(env_blog) root@VM_0_7_centos:~/.virtualenvs/env_blog # lssitepackages
easy_install.py pip pip-20.0.2.dist-info pkg_resources __pycache__ setuptools setuptools-45.1.0.dist-info wheel wheel-0.34.2.dist-info
(env_blog) root@VM_0_7_centos:~/.virtualenvs/env_blog # cdsitepackages
(env_blog) root@VM_0_7_centos:~/.virtualenvs/env_blog/lib/python3.7/site-packages #
删除
# rmvirtualenv #name#
复制
# cpvirtualenv [sorce] [dest]