Comment spécifier l'ordre d'installation de python pip?

Je suis en train de travailler avec le tissu(0.9.4)+pip(0.8.2) et j'ai besoin d'installer certains modules python pour plusieurs serveurs. Tous les serveurs ont une ancienne version de setuptools (0.6c8) qui doit être mis à niveau pour pymongo module. Pymongo nécessite setuptools>=0.6c9.

Mon problème est que le pip démarre l'installation avec pymongo au lieu de setuptools qui provoque pip pour l'arrêter. Brassage module de commande dans les exigences de fichier ne semble pas aider.

requirements.txt:

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

Est-il un moyen de spécifier l'ordre d'installation pour le programme pep, comme il ne semble pas qu'il fasse par lui-même?

Cela peut être résolu avec deux exigences distinctes fichiers, mais il serait agréable si je n'avais pas besoin de maintenir des exigences multiples fichiers maintenant ou dans l'avenir.

Problème persiste avec le pip 0.8.3.

  • Autant que je sache, il n'y a aucun moyen de définir un ordre dans l'obligation de fichier de pip.
  • Si vous regardez dans le code de pip.py il y a un appel de classe RequirementSet où il sauver l'exigence, et cette classe utiliser un dictionnaire pour sauver les exigences , je pense que c'est la façon dont vous ne pouvez pas définir un ordre , mais j'aimerai savoir si je me trompe 🙂
  • Ceci a été corrigé dans le pip 6.1.0 – voir ma réponse pour plus de détails.
  • La réponse (encore) n'est. Et voici pourquoi: github.com/pypa/pip/issues/2362