python 虚拟环境总结

元气小坏坏 提交于 2020-08-19 16:26:01

每个项目依赖不同的第三方包,多个项目依赖的包的版本又不一样相同,为了方便管理项目的依赖,为每个项目单独创建一个虚拟独立的环境,各环境之间模块/代码互不影响,部署时则可以将该环境整体打包部署. (好像安装不同版本时不是在这个环境中单独安装,而是修这个环境的相关环境变量来实现各环境相互独立的)

总之:方便包的管理,避免版本冲突

常见的创建虚拟环境工具有py2exe, cx_Freeze, pyinstaller,pipenv,virtualenv等

新版自带虚拟环境:venv

个人比较常用的是virtualenv 和 anaconda 自带的创建虚拟环境功能

Virtualenv

安装:		pip install virtualenv
创建虚拟环境
输入命令:	virtualenv 环境名
如:		virtualenv venv 为虚拟环境目录名
如果有多个python版本,可以通过命令选择虚拟哪个环境
		virtualenv -p python路径 环境名
如:		virtualenv -p /usr/bin/python2.7 venv
如:		virtualenv --no-site-packages --python=python3  venv#得到独立第三方包的环境,并且指定解释器是python3
#添加参数--system-site-packages,项目检索库的时候,也会到系统的三方库中找,不添加时,默认只到虚拟环境中查找库
#会创建ENV/lib/、ENV/include、ENV/bin(Windows系统下是ENV/Scripts)几个文件夹

进入虚拟环境(命令行前面多出环境名,表示进入虚拟环境中了)
#如果系统是 Windows 的话,则不需要带上 source 命令,linux 可能需要加上source
进入环境下的Scripts文件夹下
输入命令执行脚本:activate
或:		source venv/bin/activate

在该虚拟环境内可正常安装第三方包不影响其他环境
如:		pip install xxx
		pip uninstall xxx

退出虚拟环境
输入命令:	deactivate
或者:		.venv/bin/deactivate

删除虚拟环境:直接删除虚拟环境所在目录即

anaconda

查有哪些虚拟:		conda env list 或 conda info -e 
更新conda:		conda update conda 
更新本地已安装包:	conda update --all 
创建环境:		conda create -n 环境名 python=3.7
	环境名文件可以在Anaconda安装目录envs文件下找到。
激活环境:		linux:	 source activate 环境名
			Windows: activate 环境名

安装依赖:进入环境中	pip install package
	或在外面:	conda install -n 环境名 [package] 安装package到环境中

退出环境:	linux:	source deactivate
		Windows:deactivate
删除环境:	conda remove -n 环境名 --all
删除环境内包:	conda remove --name 环境名 包名

venv

Python 3中,Python标准库有了自己的虚拟环境包venv,只能在Python 3上使用
和virtualenv类似,指定虚拟环境的目录即可。

python3 -m venv /path/to/new/virtual/environment
和virtualenv类似,也会创建那几个目录。不过venv还会创建一个配置文件pyvenv.cfg,表明主环境和虚拟环境的一些属性,该文件内容如下:

home = C:\Program Files\Python37
include-system-site-packages = false
version = 3.7.0
其他终端用法和virtualenv也一样

q其他:没使用过

Virtualenvwrapper(linux)
virtualenvwrapper-win(Windows)

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:
1. 将所有虚拟环境整合在一个目录下
2. 管理(新增,删除,复制)虚拟环境
3. 切换虚拟环境
4. ...

在pycharm中设置该虚拟路径,依次打开:

->	preferences
->	Project: 项目名
->	Project Interpreter
->	setting图标: add
->	Conda Environment
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!