2012-03-21 51 views
10

我们使用requirements.txt文件来存储所需的所有外部模块。除了一个模块以外,每个模块都是从互联网收集的另一个存储在持有requirements.txt文件的文件夹下的文件夹中。在requirements.txt中使用相对路径来安装带pip的tar.gz文件

顺便说一句,这个模块可以很容易地与PIP安装安装

我已经使用这个尝试:

file:folder/module 

或本:

file:./folder/module 

,甚至这样的:

folder/module 

但总是抛出我错了。 有谁知道哪个是正确的方法来做到这一点?

由于

回答

16

在当前版本的PIP(1.2.1)在一个需求文件的相对路径的解释方式是不明确的和半破损。有画中画库开放的问题,它详细地解释了各种问题和模糊之处:

https://github.com/pypa/pip/issues/328

长话短说当前实现不匹配PIP文档中的描述,所以在写这篇文章的在requirements.txt中使用相对路径没有一致可靠的方法。

中说,将在我的requirements.txt如下:

./foo/bar/mymodule 

作品时,有在mymodule目录的顶层的setup.py。请注意,file::协议名称的缺失以及包含领先的./。此路径不是相对于requirements.txt文件,而是相对于当前工作目录。因此,有必要对浏览到同一目录requirements.txt,然后运行命令:

pip install -r requirements.txt 
+3

即使'/'似乎以这种方式工作''../没有,甚至不相CWD,我也没有尝试'./../' – dashesy 2015-01-06 03:50:19