参考:什么是虚拟环境?为什么使用虚拟环境?Anaconda创建、激活、退出、删除虚拟环境
- 在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。如一下场景:
- 场景1:项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要 来回 的卸载安装了,这样很容易就给你的项目带来莫名的错误;
- 场景2:公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。
- Tips:其实虚拟环境好处也确实比较多,会给我们项目的开发带来许多的好处,但是初学者,建议还是不要这么折腾,我们的首要目的是更快的掌握更多的知识,研究virtualenv会花费一些额外的经历,而且意志不强的同学很容易遭受打击,但是这个优点我们还是要记下来的方便以后要用的时候能很快的想起。
同时安装必要的包
激活虚拟环境
退出虚拟环境
删除虚拟环境
删除虚拟环境中的包
- conda的一些常用命令
- 查看conda版本
- 激活base环境(anaconda自带的就是base虚拟环境,每次需要先激活base环境,才能创建或进入其他虚拟环境)
- 创建新的虚拟环境
- 省去了在dos中的命令操作
- 参考1:spyder使用conda 虚拟环境
Spyder是一个挺好用的python IDE。
如果想在虚拟环境中用Spyder,或者 说是Spyder中用虚拟环境中的库,则需要在虚拟环境中安装并启动,可以通过命令的方式,也可以通过Anaconda来操作。
创建虚拟环境myenv,再安装spyder,最后启动。
- 参考2:spyder如何切换python虚拟环境?
在anaconda下创建了很多个python虚拟环境,现在我想使用 spyder 运行python程序,
并且使用其中某一个虚拟环境,方法如下:
首先要知道 Anaconda自带的spyder使用的是base环境,现在我想使用自己创建的 pytorch 虚拟环境。
1)打开 Anaconda prompt ,切换至想要使用的虚拟环境,输入命令:
activate pytorch
2)在此虚拟环境下安装 spyder,输入命令:
conda install spyder
经过一段时间的安装,就会发现 所有程序 ——> Anaconda 下面多了一个 spyder(pytorch)
3)打开 Spyder(pytorch),看界面右下角就会发现,当前环境已经变成了 pytorch
非python依赖包管理
python包管理
conda install xxx ,不管在什么环境下载的包,都统一放在一个Conda目录里面,比如在我电脑上(mac):
在目录下可以看到很多已经通过conda install的包。
所以,在某个环境下⾯下载了某个包,再到另外⼀个环境下载同样的包,conda会⾃动在上⾯的⽬录⾥⾯找,如果有,就不会重复下载,⽽是将这个包的site-packages下的⽂件复制到当前环境下(和直接pip install ⼀样)如:
使⽤conda uninstall xxx时,和pip uninstall⼀样,删除了当前环境site-packages⾥⾯的包内容,但是在上述⽬录⾥⾯还存在这这个包,此时再到另外⼀个环境下载这个包,还是将site-ackages复制⼀份到当前环境下,做到了⼀次下载,到处使⽤。
pip
pip install xxx ,在特定环境中使用pip,下载的包会存在环境目录里,如:
使用pip uninstall xxx,包就卸载掉了。
参考:Anaconde管理环境,conda和pip安装包的区别
- conda能创建虚拟环境,可以实现不同版本包的并行管理
- pip就很单一,只负责安装pypi的包,也不管虚拟环境;
- 有时候使用conda给特定环境安装python包时没有资源,需要使用pip,这时一定要先activate特定环境,然后使用pip命令安装包,这时是给特定的环境安装,和使用conda安装的位置是一样的
- 只要在一个虚拟环境中(可提前使用conda激活某个虚拟环境),无论使用conda还是pip都是一样的。特别的,在spyder控制台中安装包,由于一般spyder都是在base环境中,所以我们在控制台中使用conda和pip是一样的。
- virtual Enviroment
- conda Enviroment
- system interpreter
1. virtual Enviroment
- 为每个项目建立一个新的虚拟环境,能够独立管理该项目里面的包
- 例如:如果某个项目需要python 2 版本,我们不可能直接把整个系统的python3降为python2;这时候只需要给这个项目单独创建一个虚拟环境,安装上python2即可。
- 这种一般适合项目需要的 第三方包 不多;
- 若两项目比较相似,项目B可以不用再创建新的虚拟环境,直接使用已有的项目A虚拟环境即可
2. conda Enviroment
- conda环境在安装Anaconda的时候就自带了一个base环境
- 此外,我们还可以通过或者Anaconda Navigator创建新的conda环境;例如我们前面创建了pytorchGPU环境。
- conda环境是系统层面的,不专门服务于某个项目。例如spyder(base)中运行的程序都是在base环境中;
- 大于
3. system interpreter
- 系统解释器 可 选择系统里面安装的Python作为解释器,不推荐使用
- 可以选择conda的base环境作为系统解释器
- system interpreter和conda Enviroment是类似的,属于一个层面(当然,conda Enviroment可能包含更多的包)
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/pythonbc/41805.html