删除虚拟环境_虚拟环境

为了给不同工程创建互相独立的运行环境。不同虚拟环境中同一个包可以有不同的版本。虚拟环境数量没有限制,可以创建多个。

一、windows安装virtualenv

1、pip安装vitualenv

92332f3e6a96dbbfb9354a771c2f72f7.png

2、pip安装虚拟环境管理包virtualenvwrapper-win

dfc4b657870e9c562f7f075be7a43293.png

3、创建一个存放虚拟环境的目录(如.env)

95bf19f494dfc32a345e901a24f2e92f.png

4、配置环境变量(WORKON_HOME:上面目录的路径)

28462fe6ed7caf9b5ed14ff361e35011.png

5、创建虚拟环境  mkvirtualenv [-p python2.7] ,创建完成后自动进入虚拟环境,-P是指定python版本

cbcdb17196cb850c525629181b21f446.png

5033ccc000543ec960e8602e774df7f1.png

6、虚拟环境一些命令:

workon:列出所有的虚拟环境

workon [name]:进入指定的虚拟环境

deactivate:退出当前的虚拟环境

mkvirtualenv [name]:创建虚拟环境

rmvirtualenv [name]:删除虚拟环境,不需要限定当前路径

4d5ce1e3de4355fdb27a7e32fa6ad89e.png

7、虚拟环境里包的管理

直接使用pip install进行安装,缺点是:卸载uninstall后,原来安装的依赖包没有卸载。

如:原先我的envpy3里的安装包有

247fceaa8921e4adab94cdf899826957.png

pip install Flask之后可以看到包列表多了这些

efee292b59130f161f785424ca61f7ae.png

卸载uninstall Flask之后,可以看到依赖包还在

ddb6267c9324949ed72b5e252d5793eb.png

8、requirements.txt文件恢复环境,这里记录了当前程序的所有依赖包及版本号

pip freeze>requirements.txt导出当前环境到requirements.tx

pip install -r requirements.txt 恢复环境

如下,我们恢复envpy3的环境,生成requirements文件,再创建一个虚拟环境,从这个文件里恢复环境。

4aa29bbbaa2032f79361a0550ef7e8e5.png

最终我们看到,新环境里成功恢复了envpy3的环境,还包括了卸载掉了flask的依赖包,这个缺陷在接下来的pipenv得以解决。

370fc8d5cf4eff7db073248ea97b10f6.png

二、安装pipenv

pipenv集成了pip、virtualenv两者的功能,pipenv使用Pipfile和Pipfile.lock,前者记录项目依赖包列表,后者记录了固定版本的详细依赖包列表,通过hash算法将包的名称和版本及依赖关系生成哈希值,保证包的完整性。win、linux各平台命令一致。

1、pip intall pipenv,安装完成后可以直接在pycharm里创建

9ce7b056d821104de93ba63dd58d935f.png

2、修改镜像源,创建完成后我们可以看到项目里多了两个文件,存放依赖包的,lock文件放的信息更详细,我们把url换成国内镜像源快一些(具体百度),如清华:https://pypi.tuna.tsinghua.edu.cn/simple

9b3f25ce3e85336c0fd11ef0a8e60dd3.png

3、安装包直接使用pipenv install xx,如果想只在开发环境安装后面加--dev

例,我们pipenv install requests和pipenv install flask --dev后,文件里分别显示这样

90fce5cc8e18ea2c98770e3576f9f081.png

4、lock文件记录的依赖包的信息非常详细,方便直接部署在服务器恢复环境

4db4daabcc4757e6e4c59e9a61c22da5.png

比如我们新建一个目录,把刚才的两个文件copy进来,再恢复环境,最开始我们可以看到这个目录下没有虚拟环境,pipenv graph查看当前包,然后我们直接pipenv install

06f1bb5cc2f0d550ae3338042d8c8cf1.png

恢复完后再查看一下当前包,可以看到只有requests,因为flask是刚才我们安装的开发环境的包,不会恢复进来的。

a15162da7490cfabd460b1e30554023f.png

如果想恢复dev的环境的包,pipenv install --dev,这时flask也恢复进来了

a3fc78b8bb19529e25db5663514213b9.png

5、卸载包pipenv uninstall xx,会把lock文件的数据都删除,当你再恢复到其他环境,删除包的相关依赖都不会存在。

0548277a21070aa286604d11b21e6f2e.png

这时我们再新建一个目录,把testenv的两个pipfile拷贝过来,再pipenv install 和--dev一下,看看这时恢复过来的环境里只有requests,卸载掉的flask和依赖包都不会恢复,这是跟virtualenv区别的地方。

c1e3c7dc4d7c75f6a3988e0fc10aa59d.png

6、跟virtualenv一样,也可以通过requirements.txt文件恢复

pipenv lock -r --dev > requirements.txt 生成requirements文件

pipenv install -r requirements.txt  通过此文件安装环境

我们还是操作刚才的testenv环境,先生成requirements

8c76ed77948e5cf9ae60350fcb757a5c.png

再创建一个新目录testnewnew用来安装此文件的环境,最终我们看到requests成功恢复,且删掉的flask及依赖包不恢复。

3f2d7abf5c12a51877be61d37b59343c.png

f444c4a9550222b22a91da256bf17658.png

7、pipenv相关命令

pipenv --where  列出本地工程路径

pipenv --venv  列出虚拟环境路径

pipenv --py  列出虚拟环境的python可执行文件

pipenv graph  查看包依赖

pipenv lock  生成lock文件,比如lock文件被删除了,可以重新生成

pipenv --rm  删除虚拟环境,只能针对当前目录下的虚拟环境,pipfile文件需要手动删

pipenv shell  激活虚拟环境,在当前目录下执行该命令

exit  退出虚拟环境

09aa5f023b7066cf0c24f2755e00a179.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值