有条件地让pip根据平台选择不同的版本

时间:2014-06-08 03:02:17

标签: python pip virtualenv

我在requirements.txt中有这个 matplotlib==1.3.1

这将安装在Linux上,但不安装在Mac上,请参阅:How to install MatPlotLib on Mac 10.7 in virtualenv

如果想说点什么

if platform==mac: matplotlib==1.3.1
else: -e git+https://github.com/matplotlib/matplotlib.git#egg=matplotlib

但显然不能像pip那样理解。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

制作多个需求文件怎么样?

  • 不包含任何matplotlib行的基本要求文件。
  • mac version(在mac上使用):

    -r base_requirements.txt
    -e git+https://github.com/matplotlib/matplotlib.git#egg=matplotlib
    
  • 非mac版本:

    -r base_requirements.txt
    matplotlib==1.3.1
    

答案 1 :(得分:0)

查看我的回答https://stackoverflow.com/a/25078063/302521和此脚本:https://gist.github.com/pombredanne/72130ee6f202e89c13bb 使用@falsetru提出的相同方法,您可以使用单个shell脚本并根据某些条件选择各种需求文件,例如os,arch或您想要的任何其他条件。