通过以下命令使用Conda在requirements.txt中安装包时
conda install --yes --file requirements.txt
如果requirements.txt中的包不可用,则会抛出“无包错误”,如下所示:
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ....
Error: No packages found in current linux-64 channels matching: nimfa ==1.2.3
You can search for this package on anaconda.org with
anaconda search -t conda nimfa ==1.2.3
与其抛出错误,是否可以更改此行为,使其在requirements.txt中安装所有可用的包,并对不可用的包发出警告?
我想这样做是因为,错误说的nimfa包不可用,可以安装pip。因此,如果我可以改变conda install --yes --file requirements.txt
的行为,只对不可用的包发出警告,那么我可以使用travis.yml中的命令pip install -r requirments.txt
跟踪它,以便TravisCI尝试从任何可用的位置安装它。
对于那些看的人,我用这个作为蒂尔霍夫曼的鱼壳解决方案:
以及
最后我只是在文件的行上迭代
$ while read requirement; do conda install --yes $requirement; done < requirements.txt
编辑:如果要使用pip安装软件包(如果无法通过conda使用),请执行以下操作:
$ while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt
编辑:如果您使用的是Windows(信用卡转到@Clay):
$ FOR /F "delims=~" %f in (requirements.txt) DO conda install --yes "%f" || pip install "%f"
您可以按照this中提到的方式执行此操作
导出到.yml文件
复制:
相关问题 更多 >
编程相关推荐