目录
1、为什么anaconda环境中,还需要用pip安装包,此情况下使用pip需要注意哪些事项
1、为什么anaconda环境中,还需要用pip安装包,此情况下使用pip需要注意哪些事项
- 在anaconda下用pip装包的原因:尽管在anaconda下我们可以很方便的使用conda install来安装我们需要的依赖,但是anaconda本身只提供部分包,远没有pip提供的包多,有时conda无法安装我们需要的包,我们需要用pip将其装到conda环境里。
- 用pip装包时候需要哪些注意事项? 首先,我们需要判断目前我们用的pip指令,会把包装到哪里,通常情况下,pip不像conda一样,他不知道环境,我们首先要确保我们用的是本环境的pip,这样pip install时,包才会创建到本环境中,不然包会创建到base环境,供各个不同的其他conda环境共享,此时可能会产生版本冲突问题(不同环境中可能对同一个包的版本要求不同)用下面命令查看我们此时用的pip为哪个环境:
which -a pip (如base环境的pip可能在/root/anaconda3/bin/pip,,,, 而其他conda环境的pip,可能在/root/anaconda3/envs/my_env/bin/pip)
(经试验,anaconda4.8版本,在conda create新的环境时,已经默认在新环境装了pip,此时conda activate进入该环境后,用pip命令安装的包,默认会装在本环境中,不必担心pip一个包后后会将其他环境的包改变版本的情况)
2、导出和安装依赖
方法一
导出项目的所有依赖库
pip freeze > requirements.txt
安装项目的所有依赖库
pip install -r requirements.txt
方法二:
conda批量导出包含环境中所有组件的requiresments.txt文件
conda list -e > requiresments.txt
conda批量安装requiresments.txt中的组件依赖
conda install --yes --file requiresments.txt
也可以利用conda生成.yml文件
导出到.yml文件
conda env export > freeze.yml
直接创建conda环境
conda env create -f freeze.yml
但是这里存在一个问题,如果requirements.txt中的包不可用,则会抛出“无包错误”。
Linux使用下面这个命令可以解决这个问题
$ while read requirement; do conda install --yes $requirement; done < requirements.txt
如果想要在conda命令无效时使用pip命令来代替,那么使用如下命令:
$ while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt
3、参考自
anconda的使用以及在conda环境中使用pip和conda使用安装依赖的区别和注意事项 - 张Star - 博客园今天把python脚本和部署文档给测试组部署时候,发现他们对于conda和pip的使用不够清晰,同时环境和依赖常出现安装版本错误等问题现从下面几个方面介绍下相关使用:一、anaconda的基本使用 1https://www.cnblogs.com/zhangxingcomeon/p/13801554.html?ivk_sa=1024320u使用conda安装requirement.txt指定的依赖包 - Gelthin - 博客园转自 https://blog.csdn.net/mao_jonah/article/details/89502380 许多Python项目中都包含了requirements.txt文件,该文件记录了https://www.cnblogs.com/Gelthin2017/p/14332510.htmlpython 环境 安装和导出 requirements.txt pip conda 指令 找不到包解决 PackagesNotFoundError_x1131230123的博客-CSDN博客导出项目的所有依赖库pip3 freeze > requirements.txt安装项目的所有依赖库pip install -r requirements.txthttps://blog.csdn.net/x1131230123/article/details/110423320