Python 使用requirements.txt中的相对路径安装带有pip的tar.gz文件

Python 使用requirements.txt中的相对路径安装带有pip的tar.gz文件,python,pip,Python,Pip,我们使用requirements.txt文件来存储所需的所有外部模块。除一个模块外,所有模块均来自互联网。另一个存储在包含requirements.txt文件的文件夹下的文件夹中 顺便说一句,这个模块可以很容易地安装与pip安装 我试过用这个: file:folder/module 或者这个: file:./folder/module 甚至这个: folder/module 但总是给我一个错误。 有人知道哪种方法是正确的吗 多亏了当前版本的pip(1.2.1),需求文件中相对路径的解释方式

我们使用requirements.txt文件来存储所需的所有外部模块。除一个模块外,所有模块均来自互联网。另一个存储在包含requirements.txt文件的文件夹下的文件夹中

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

我试过用这个:

file:folder/module
或者这个:

file:./folder/module
甚至这个:

folder/module
但总是给我一个错误。 有人知道哪种方法是正确的吗


多亏了当前版本的pip(1.2.1),需求文件中相对路径的解释方式模棱两可且半中断。pip存储库中存在一个未解决的问题,它更详细地解释了各种问题和歧义:

长话短说当前的实现与pip文档中的描述不匹配,因此在撰写本文时,在
requirements.txt
中没有一致可靠的方法来使用相对路径

也就是说,在我的
requirements.txt中放置以下内容:

./foo/bar/mymodule
mymodule
目录的顶层有
setup.py
时工作。请注意,缺少
文件::
协议名称,并且包含了前导的
/
。此路径不是相对于
requirements.txt
文件,而是相对于当前工作目录。因此,有必要导航到与
requirements.txt
相同的目录,然后运行以下命令:

pip install -r requirements.txt

它基于当前工作目录(如果需要,使用os.getcwd()查找)和您在需求文件中提供的相对路径

您的需求文件应如下所示:

fabric==1.13.1
./some_fir/some_package.whl
packaging==16.8
注意:这只适用于.whl文件,而不适用于.exe文件


记住要密切注意pip安装输出中的错误。

另一个选项是使用名为Pipenv的环境管理器来管理此用例。 为新项目执行
pipenv安装后的步骤:

pipenv安装-e app/deps/fastai
-e
可编辑,可选)

然后您将在PIP文件中看到以下行:
fastai={editable=true,path=“./app/deps/fastai”}

类似的问题如下:


对我来说,只有
文件:
指令起作用。这甚至适用于AWS SAM,即
SAM构建
。这是我的
requirements.txt
,englishapps是我在AWS Lambda中需要的自定义Python包

requests
file:englishapps-0.0.1-py3-none-any.whl

虽然
/
似乎是这样工作的
./
甚至与CWD没有关系,我也试过
./
我不知道交易是什么,但在Windows上,只有
-e./foo/bar/mymodule
起作用,而不是
\foo\bar\mymodule
2012年的答案,requirements.txt还不支持相对路径吗?2021年,requirements.txt中的
。/foo
适用于pip 18.1