之前写了一篇《python入门记录》算是入门了。今天受小伙伴推荐使用Anaconda来管理python环境,有被惊艳到了。
Anaconda是什么?
Anaconda是一款集成的Python环境,anaconda可以看做Python的一个集成安装,安装它后就默认安装了python、IPython、集成开发环境Spyder和众多的包和模块,一键安装,装好即用,特别适合懒人,非常方便。Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。
conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
小马的主要使用心得是,有点类似docker的容器隔离思想,每个conda虚拟环境就相当于一个独立容器环境,可以有自己的Python环境也可以支持克隆。虚拟环境之间的 包和版本互不影响,非常适合在AI训练下运行不同模型时需要频繁切换对应的不同Python版本和依赖包的开发场景。
其实无论python的虚拟环境,还是docker的虚拟容器,本质都是为了避免交叉污染,保证每一个项目都在自己独立的环境里运行。
有人是这么建议的:
只对python环境进行隔离或者迁移,只装anaconda就够了,比如深度学习训练或者QT本地开发之类的。
还需要对系统环境进行隔离和迁移,那就docker+anaconda,比如你要部署模型,交付产品,或者是多人共用一台服务器等。
深度学习环境配置超详细教程【Anaconda+PyTorch(GPU版)+CUDA+cuDNN】
下载与安装
不懂如何安装的同学也可以参考看这里教程1和这里教程2,教程2还包含了conda使用命令。下载Anaconda安装包的话小马建议是官网。
安装的时候需要特别注意的是以下选项要勾选(具体说明也可以参看上面的深度学习环境配置超详细教程链接),否则就需要自己处理环境变量的配置了(虽然勾选了也有可能出现需要自己手动配置环境变量的问题)。
如果你真的傻瓜安装并且忘记勾选了,那就乖乖如下自己手动配置环境变量Path(可以在conda prompt中使用where conda查看安装路径),否则命令行cmd无法识别conda和python命令。
验证安装结果。可选用以下任意一种方法:
① 在终端中输入命令?conda list?,如果Anaconda被成功安装,则会显示已经安装的包名和版本号;
② 在终端中输入?python?。这条命令将会启动Python交互界面,如果Anaconda被成功安装并且可以运行,则将会在Python版本号的右边显示“Anaconda custom (64-bit)”。退出Python交互界面则输入?exit()?或?quit()?即可;
③ 在终端中输入?anaconda-navigator?。如果Anaconda被成功安装,则Anaconda Navigator的图形界面将会被启动。
记得装好后如教程一样配置清华镜像哦。
结合Pycharm使用
如何在Pycharm中切换不同的工作环境,总结就是要在项目的配置中给当前项目配置python解释器,配置到conda的对应虚拟环境下的python.exe即可。如下,mydev是我们使用conda 命令创建的虚拟环境。
注意这里面有几个坑:
配置的时候发现 pycharm获取conda环境列表失败,error code 1。类似如下,
小马第一反应是查找anaconda安装路径下的envs文件夹是否有新建的虚拟环境mydev文件,结果没有。anaconda的envs路径跑到c盘了,应修改为anaconda安装路径的盘内。也可参考这里。
使用conda info确认配置并在C:\Users\用户名下有一个 .condarc 文件,将其打开,在其末尾添加下面内容:
最后还需将anaconda的envs文件夹权限给为可执行读写才行。
此时问题并没有解决,如图conda可执行文件配置到conda.exe下始终加载环境拉不出环境,于是使用有一个文件在anaconda\library\bin里,也叫conda.bat,配置到这个文件就行了。问题解决,IDE开发正常。
如果上面还没看懂可以在主页介绍找我哈【贝可林】,我骑共享单车到你家教。