Python虚拟环境的创建与使用

Python创建虚拟环境的方法有多种。我知道的有三种,分别是:
virtulenv
venv
pipenv

一、virtualenv
1、安装virtualenv、virtualenvwrapper-win
virtualenv是最常见的虚拟环境包,需要手动下载,支持python2和python3。
为了方便管理虚拟环境,通常还会下载虚拟环境管理工具包:
virtualenvwrapper (Linux版本)
virtualenvwrapper-win (windows版本)
在windows终端(cmd)中安装:
pip install virtualenv virtualenvwrapper-win
卸载:
pip uninstall virtualenv virtualenvwrapper-win
2、修改环境变量
创建的虚拟环境会默认安装在系统盘用户名文件下。当用户名为中文时,不能找到虚拟环境自身的pip而使用真实环境的pip和第三方库。在虚拟环境中安装其他模块时,无法安装到虚拟环境下,而是安装在真实环境。或者无法使用pip而报错。
修改方法:
此电脑-》属性-》高级系统设置-》环境变量-》系统变量-新建:
变量名:WORKON_HOME 变量值:D:\Python3\Envs
-》确定-》确定...
3、虚拟环境的创建与管理
(1)使用virtualenvwrapper-win进行管理
创建:
mkvirtualenv 环境名
退出:
deactivate
查看系统变量路径下所有虚拟环境:

workon
lsvirtualenv

进入:
workon 环境名
删除:
rmvirtualenv 环境名
进入虚拟环境所在目录:
cdvirtualenv 虚环名
(2)使用virtualenv创建使用虚拟环境
不使用系统变量的路径,在当前文件夹下创建一个虚拟环境:
virtualenv 环境名
进入虚拟环境的Scripts文件夹,激活后进入虚拟环境:

cd 环境名\Scripts
activate

退出:
deactivate
4、检查虚拟环境并安装第三方库
(1)检查虚拟环境是否正常
进入虚拟环境检查pip的路径是否在虚拟环境下,如果是真实环境中的pip或报错不能使用虚拟环境的pip,建议删除虚拟环境重新创建或检查虚拟环境路径中是否存在中文,最好改成英文,或重新设置环境变量,重复第2步。
pip -V
检查虚拟环境中的第三方库,新建的虚拟环境通常只有三个。如果打印出了真实环境中的所有第三方库或出现错误,解决方法同上。
pip list
(2)检查虚拟环境正常,便可在虚拟环境中便捷地安装第三方库了。
使用虚拟环境通常安装的都不是最新版的第三方库,pip默认安装最新版。故需要给出版本号。
通常在国内为了快速下载第三方库会使用换源的方法下载。常用的源有:
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
Python官方 https://pypi.python.org/simple/
v2ex http://pypi.v2ex.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
pip install djang==2.2.17 -i http://pypi.douban.com/simple/

二、venv
venv是Python3自带的虚拟环境创建包。由于Python2没有venv所以还不常用。
其创建虚拟环境的命令为:
python -m venv [路径]环境名
默认是在当前目录下创建虚拟环境。也可以通过参数指定路径。
在虚拟环境中安装第三方库方法同上。
进入虚拟环境方法同virtualenv。

三、pipenv
pipenv还未尝试,以下内容来自
https://www.cnblogs.com/jiangmingbai/p/10903356.html

安装 pip install pipenv
pipenv 集成了pip,virtualenv两者的功能,pipenv使用pipfile和pipfile.lock记录包信息,前者用来记录项目依赖包列表,后者记录固定版本的详细依赖包列表,查看依赖关系十分方便,各个地方使用了哈希效验,无论安装还是卸载包都十分安全

创建虚拟环境
第一步撞见文件夹 mkdir [name]
第二步进入文件夹 cd [name]
第三部初始化虚拟环境 pipenv install
初始化后会生成pipfile和pipfile.locke文件
pipenv管理模块和包
在虚拟环境中安装包:pipenv install 包名 将包安装在[packages]下(注意:当前项目路径下执行命令)
pipenv install --dev 包名 将包安装在开发环境中[dev-packages]
卸载虚拟环境安装包 pipenv uninstall 包名
查看安装包及依赖关系 pipenv graph
生成requirements.txt文件
pipenv lock -r >requirements.txt 来源[packages]
pipenv lock-r--dev >requirements.txt 来源[dev-packages]
使用requirements.txt恢复环境
pipenv install -r requirements.txt
使用pipfile和pipfile.lock恢复环境
将两个文件导入到新的项目中,在项目路径下执行
pipenv install 项目环境恢复
pipenv install --dev 开发环境恢复
pipenv的相关命令
pipenv --rm 删除虚拟环境
pipenv --where 列出当前工程路径
pipenv --venv 列出虚拟环境路径
pipenv --py 列出python解释器路径
pipenv graph 查看依赖包
pipenv lock 生存lock文件
pipenv shell 进入虚拟环境
exit 退出虚拟环境
总结
virtualenv 任意项目都能workon创建虚拟环境; pipenv 创建的虚拟环境进去默认在该路径下,提前做了一步锁定,别的项目要使用该环境还要切换到项目路径下才能使用
virtualenv 不区别 开发依赖和项目依赖包 pipenv做了进一步区分为[dev-packages]和[packages]
pip freeze 生成全部的依赖包的requirement.txt
pipenv lock-r区别[dev-packages]和[packages]生成requirement.txt
pipenv 更加强大根据项目建立虚拟环境,默认该项目就和虚拟环境做了联系

参考文献:
https://www.cnblogs.com/jiangmingbai/p/10903356.html
https://www.jianshu.com/p/a7979ac3b226
https://www.jb51.net/article/195070.htm

posted @ 2021-01-22 16:34  流水自净  阅读(480)  评论(0编辑  收藏  举报