问题与背景
基于python做开发的时候难免会遇到项目与环境绑定的情况,针对这种情况,一开始知道anaconda有独立环境,但是觉得太重量级了,就使用的ananconda的venv,觉得很轻便,但是后期随着算法中间件中模型数量的增多,venv没有办法满足安装需求了,就迁移到了anaconda。
参考资料
https://www.jianshu.com/p/eaee1fadc1e9 anaconda 快速入门 --简书
https://www.cnblogs.com/shierlou-123/p/11138920.html 对环境的增删
https://blog.csdn.net/u013517182/article/details/93032900 查找包的可用版本,安装指定版本的包
https://blog.csdn.net/weixin_41481113/article/details/88410973 安装时指定源
https://blog.csdn.net/huayunhualuo/article/details/106027903 aniso8601 conda装不上时候检索到了包的作用
https://www.zhihu.com/question/395145313 知乎的高赞回答关于pip与conda
https://blog.csdn.net/qq_41204464/article/details/86530217 机翻官网的pip与conda 区别
方案与案例
指令速查
activate // 切换到base环境
activate learn // 切换到learn环境
conda env list // 列出conda管理的所有环境
conda list // 列出当前环境的所有包
anaconda search -t conda tensorflow-gpu //搜索安装包,看看有哪些可以装
conda install requests 安装requests包
conda install requests=x.x 安装requests包的指定版本
conda install --channel https://conda.anaconda.org/cjj3779 tensorflow-gpu // 指定源安装具体包
conda uninstall xxx //卸载xxx包
conda remove --name your_env_name package_name // 删除环境中的某个包
conda remove requests // 激活虚拟环境后卸载requets包
conda update requests 更新requests包
conda env export > environment.yaml // 导出当前环境的包信息
conda env create -f environment.yaml // 用配置文件创建新的虚拟环境
conda create -n learn python=3 // 创建一个名为learn的环境并指定python版本为3(的最新版本)
conda create -n test python=3.7 // 创建一个名为test的环境并指定python版本为3.7(的最新版本)
conda remove -n your_env_name(虚拟环境名称) --all //删除learn环境及下属所有包
关于pip install 与 conda install
经验:
1.pip的包跟conda不完全重叠,有些包只能通过其中一个装。
2.二者装的东西不是在一个地方的。
3.能用conda装还是用conda,实在不行再pip。
4.如果你需要做GPU计算,用到了CUDA、TensorFlow之类的库,尤其是使用版本迭代很快的库,我建议使用conda。