前言:个人认为Anaconda比pip使用起来要方便很多,因为它创建虚拟环境和下载各种库都很方便。但是有时候conda的安装方法中没有某些库,必须使用pip来进行安装。所以,主要用Anaconda,偶尔用pip补充,两者并不冲突。
1. 安装Anaconda
下载地址:https://www.anaconda.com/download/
选择相应的版本,这里我们选择Python 3.7, 64-Bit (x86) Installer (637 MB) (点击这个链接可以直接下载)
或者直接在Ubuntu系统的命令行里输入
wget https://repo.anaconda.com/archive/Anaconda3-5.3.1-Linux-x86_64.sh
下载完成后,输入以下命令执行所下载的安装程序:
bash Anaconda3-5.3.1-Linux-x86_64.sh
然后根据提示一步一步安装即可。
注:
- 安装过程中会提示是否要把anaconda添加到环境变量中,根据经验最好选择是的
- 如果在1中选择是的,则需要使用以下命令使得环境变量中的更改生效:
cd ~ && source .bashrc
1.1 为了下载库的时候速度更快,更换conda下载源为清华大学镜像
参考:https://blog.csdn.net/huludan/article/details/52711550
运行以下两行命令即可:
conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/' conda config --set show_channel_urls yes
2. 创建与激活虚拟环境:
参考:https://segmentfault.com/a/1190000005828284
# 创建虚拟环境 ~/anaconda3/bin/conda create -n py3 python=3.6 # 激活虚拟环境 source ~/anaconda3/bin/activate py3
3. 在不同的ubuntu主机之间拷贝Anaconda的虚拟环境:
有两种方案,
- 第一种是将所有虚拟环境的文件导出,在另一台机器上导入,无需从互联网下载文件,相当于本地移植
- 第二种是将原来的虚拟环境中已经安装的库的名字和版本号导出成索引文件,从另一台机器上读取这个索引文件,并根据它从互联网重新下载相应的库
分别参考:
- 方案一:https://blog.csdn.net/shincling/article/details/75534121
- 方案二:https://blog.csdn.net/vola9527/article/details/80744540
其中方案二是摘抄的某篇文章A,文章A是转载的文章B,文章B算是非常有工作量,主要是翻译的官方文档https://conda.io/docs/user-guide/getting-started.html。所以也欢迎查阅官方文档。
注意:根据方案1中参考文章的说法,
移植过来的环境只是安装了你原来环境里用conda install等命令直接安装的包,你用pip之类装的东西没有移植过来,需要你重新安装。
具体做法:
方案一:文件复制
# 复制虚拟环境文件到新的主机上 # 虚拟环境文件的位置一般在 cd ~/anaconda3/env/your_env_name # 根据原来的文件恢复虚拟环境 conda create -n env_name --clone ~/path
方案一我并没有实践过,但是理论上没什么问题,所以放在这里。我使用的是方案2,因为网速比较快,懒得拷贝文件了,直接重新下载好了。
方案二:索引导入导出
# 导出已有环境: conda env export > environment.yaml # 将environment.yaml文件复制到新主机上之后 # 根据索引文件创建并恢复虚拟环境: conda env create -n your_env_name -f environment.yaml
4. 如何备份虚拟环境:
有时候配置好的虚拟环境可能会后续被别的版本号升级造成的冲突所破坏,所以时不时的备份很重要。
方法:通过上述的导出索引的方式备份即可,哈哈