简单介绍一下anaconda
anaconda简单来说就是个python环境管理的工具。有朋友可能会说,我需要啥包装啥包不就好了,为啥需要好多个python环境?
- 有些代码可能在某个python版本下work,但是在另一个python版本下就不work了。最直接的例子就是python2和python3,或者python3的不同小版本。每次升级几乎都会有些小改动,有可能就会导致不work,所以最好还是别人用什么环境你就用什么环境效率最高。
- 你有时候可能会需要用到同一个包的不同版本。比如tensorflow,虽然我没太用过,但是印象里tensorflow是一代版本一代神…曾经在github上扒过一个tf的代码,就因为版本不匹配报了很多奇奇怪怪的错误。当你需要某个包的不同版本,你就没办法在同一个环境里同时安装了。
简单介绍一下yml文件依赖
这个文件格式啥的,感兴趣的朋友可以自己查一下。这里主要介绍一下关于用yml文件配置conda环境的事情。
很多写的比较好的代码,都会把他们用的环境写的很详细。一种是用pip导出环境,导出成requirements.txt,另一种是用conda导出环境依赖,导出成xxxx.yml。这时候你可以根据这个requirements.txt/xxxxx.yml文件创建你的python环境。这样就可以一键run起来别人的代码了。
Anaconda基本操作及打包环境为 yml文件/txt文件
创建新的conda环境
conda create -n <your_env_name> python=<required_version>
根据yml文件来创建conda环境
conda env create -n <your_env_name> -f xxxx.yml
根据txt文件来创建conda环境
# 这里要注意一下,必须要先激活你要安装依赖的conda环境再使用pip
# 在同一个环境下,使用pip install和conda install效果是一样的
# 只不过包可能有的版本上可能这个有那个没有,或者名字上有细小的区别。但是对于大多数情况开说不影响。
conda create -n <your_env_name> python=<required_version>
pip install -r requirements.txt
或者
conda install --yes --file requirements.txt
删除环境
conda remove -n <your_env_name> --all
使用指定的conda环境
conda activate <your_env_name>
查看某个conda环境里安装的包
conda activate <your_env>
conda list
卸载某个包
conda uninstall xxx
或者
pip uninstall xxx
导出conda环境为yml文件
conda env export > xxx.yml
导出conda环境/python环境为txt文件
pip freeze > requirements.txt
或者
conda list -e > requirements.txt