我想用一个pip命令安装Python 2.7.12的所有可用模块。有没有一种方法可以在不必指定每个软件包名称的情况下完成这个任务?
我强烈建议不要这样做,最好的做法是使用requirements.txt文件,列出你想要安装的包。
然后使用pip install -r requirements.txt
安装您项目需要的所有软件包。
这有几个好处:
然而,如果您确实想要安装所有的Python软件包(请注意,有成千上万个),可以通过以下方式安装:
pip search * | grep ")[[:space:]]" | cut -f1 -d" "
我强烈反对这样做,因为它很可能会对您的系统造成严重影响,因为它将尝试安装每一个Python软件包(这也是为什么它放在剧透标签中的原因)。
grep
命令。 - Simon Klaver正则表达式
旁边的复选框(或类似的内容),在查找
字段中键入downloads:\s+\d+
,确保替换为
字段中没有文本,并将所有其他选项保留为默认值,单击全部替换
(假设该程序具有此按钮)。完成后,通过在查找
字段中使用空格进行另一个替换来消除尾随空格(Python软件包名称不包含空格)。完成这两个替换后,每个单元格中都会有一个软件包名称。for /F %p in ('type TEXT_FILE_NAME.txt') DO pip.exe install %p
[如果命令提示符无法找到正确的pip,请输入pip的完整路径,例如C:\Python27\Scripts\pip.exe]
完成了,pip现在正在安装我提供链接中列出的所有软件包。
您应该将stdout(也许还有stderr)重定向到文件中,因为命令提示符没有很大的历史缓冲区。为此,在命令的末尾放置以下内容:
>>PIP_STDOUT_FILE.txt 2>>PIP_STDERR_FILE.txt
--log LOG_FILE.txt
,但日志文件变得更冗长,并像往常一样将其消息写入命令提示符。
pip install -r requirements.txt
。您也可以列出所有已安装的软件包并将其放入要求文件中:pip freeze > requirement.txt
。 - Laurent LAPORTE