python虚拟环境总结
每个项目依赖不同的第三方包,多个项目依赖的包的版本又不一样相同,为了方便管理项目的依赖,为每个项目单独创建一个虚拟独立的环境,各环境之间模块/代码互不影响,部署时则可以将该环境整体打包部署.
(好像安装不同版本时不是在这个环境中单独安装,而是修这个环境的相关环境变量来实现各环境相互独立的)
总之:方便包的管理,避免版本冲突
常见的创建虚拟环境工具有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 FilesPython37
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
以上是 python虚拟环境总结 的全部内容, 来源链接: utcz.com/z/516966.html