一个快速的问题。
有没有办法确保 pip freeze > requirements.txt
保持安装软件包的顺序?这对我来说是一个问题,因为在 requirements.txt
中我经常得到像这样的东西:
matplotlib==1.1.1
numpy==1.6.2
尝试使用
pip install -r requirements.txt
安装时会出现错误,因为numpy是matplotlib的依赖项,所以我必须先手动安装numpy,然后重新运行pip install -r requirements.txt
。有什么解决方法吗? 更新: 回答mechmind的问题,我在Ubuntu 12.04上使用虚拟环境--distribute myenv使用pip安装了matplotlib和numpy。安装完成后,我得到了这个freeze文件:
argparse==1.2.1
distribute==0.6.28
matplotlib==1.1.1
numpy==1.6.2
wsgiref==0.1.2
当我尝试在另一个虚拟环境中重新安装时,出现以下错误:
REQUIRED DEPENDENCIES
numpy: no
* You must install numpy 1.4 or later to build
* matplotlib.
也许这取决于系统。 谢谢!
pip
在某个地方缓存了已安装软件包的依赖项。因此,如果您只有这两个软件包的问题,我建议采用简单的解决方案 - 反转要求文件,即sort -r requrements.txt | xargs pip install
。 - mechmind