如何指定python pip的安装顺序?

2024-06-06 14:49:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用fabric(0.9.4)+pip(0.8.2),我需要为多个服务器安装一些python模块。所有服务器都有旧版本的setuptools(0.6c8),需要为pymongo模块升级。Pymongo需要setuptools>;=0.6c9。

我的问题是pip使用pymongo启动安装,而不是setuptools,这会导致pip停止。重新排列需求文件中的模块顺序似乎没有帮助。

需求.txt:

setuptools>=0.6c9
pymongo==1.9
simplejson==2.1.3

有没有一种方法可以为pip指定安装顺序,因为它自己似乎做不好?

这可以通过两个独立的需求文件来解决,但如果我现在或将来不需要维护多个需求文件,那就更好了。

pip 0.8.3的问题仍然存在。


Tags: 模块pip文件方法gt服务器txt顺序
3条回答

要在requirements.txt中允许所有类型的条目(例如来自git存储库的包),您需要使用以下命令集

cat requirements.txt | xargs -n 1 -L 1 pip install

-n 1-l1选项是逐个安装软件包并将requirements.txt文件中的每一行作为单独的项处理所必需的。

你可以使用:

cat requirements.txt | xargs pip install

这是一个愚蠢的黑客,但可能只是工作。编写一个bash脚本,逐行读取需求文件并在其上运行pip命令。

#!/bin/bash
for line in $(cat requirements.txt)
do
  pip install $line -E /path/to/virtualenv
done

相关问题 更多 >