我的一些python软件包无法安装" $ conda ..."命令

时间:2017-10-24 23:59:46

标签: python bash batch-file pip conda

我们在python中的软件有大约5个依赖项。今年,为了帮助新学生加入我们的项目,我们希望创建一个安装程序,它将通过经典的requirements.txt文件方法获取所有依赖项。
然后,我希望创建一个批处理和bash脚本,它将遍历requirements.txt并安装依赖项。

现在我已设法编写脚本,可以conda install ...pip3 install ...,但两个单独的命令文件。考虑选择哪个软件包管理器我希望尽可能多的自由,所以我想知道是否有办法让控制台使用默认的conda,如果它失败则使用pip3?
例如:我没有设法用conda安装pyqt5但是用pip3成功了。

这是我的批处理脚本:

@echo off
for /F "tokens=*" %%A in (requirements.txt) do (conda install --yes %%A)
pause

这是bash脚本:

while read requirement; do conda install --yes $requirement; done < requirements.txt

最后我的要求.txt内容:

pySerial
pyQt5
pyopenGL
pyproj
pyqtgraph    

1 个答案:

答案 0 :(得分:0)

在批处理中,如果action_a失败,您可以使用action_a || action_b执行action_b。对于你的脚本,那将是

for /F "tokens=*" %%A in (requirements.txt) do (conda install --yes %%A || pipe %%A)

Bash也有类似的功能。

while read requirement; do conda install --yes $requirement || pip3 $requirement; done < requirements.txt

(请注意,我不确定pip3的语法,因此请相应更改)