Python 指定pip安装-e所需的额外功能
从git存储库安装时,如何使用pip安装额外的需求 我知道当项目在pypi上时,您可以执行Python 指定pip安装-e所需的额外功能,python,git,pip,Python,Git,Pip,从git存储库安装时,如何使用pip安装额外的需求 我知道当项目在pypi上时,您可以执行pip安装项目[extra]。 您必须执行pip安装-e git+https://github.com/user/project.git#egg=project用于git回购,但我没有找到如何将这两个选项链接在一起。这应该可以 对于远程回购: pip install -e git+https://github.com/user/project.git#egg=project[extra] 这是为当地人准备
pip安装项目[extra]
。您必须执行
pip安装-e git+https://github.com/user/project.git#egg=project
用于git回购,但我没有找到如何将这两个选项链接在一起。这应该可以
对于远程回购:
pip install -e git+https://github.com/user/project.git#egg=project[extra]
这是为当地人准备的(感谢@Kurt Bourbaki):
需要注意的重要事项:括号内或括号内不应有空格。也就是说,这不起作用:
-e.“[extra-1,extra-2]”
-甚至作为requirements.txt文件中的一行,它并不明显。最糟糕的是,当你有空白时,额外的内容会被忽略。这在从whl
文件安装时也有效,例如,你可以:
pip install path/to/myapp-0.0.1-py3-none-any.whl[extra1]
这与文档中的内容相去甚远,也不是特别直观。使用git+ssh从私有存储库安装带有附加功能的软件包:
pip install -e 'git+ssh://git@github.com/user/project.git#egg=project[extra1,extra2]'
我的问题不在于简单的依赖关系,而在于我需要什么!当您在requirements.txt或setup.py中定义它时,它也可以工作。但是如果使用了
pip install-e.
,而不是URL,该怎么办?@ankostispip install-e.[extra]
应该可以工作。如果您使用的是zsh
您需要避开方括号:pip install-e.\[extra\]
。还要注意,如果setup.py
中的要求不是由pip
安装的,可能是因为谢谢您,这也正是我所需要的。我只是想知道,如果git repo包含多个未在setup.py中明确列出的包,即“find_packages”,我想使用git+https…
获得与pip install-e相同的安装。[额外]
?这pip安装-e git+https://github.com/user/project.git#egg=.[extra]
不起作用。谢谢,这给我带来了很多麻烦。我还没有在任何地方看到多个extra的文档,但这是一个非常重要的提示@你说得对,它似乎没有记录在案——但至少在撰写本文时,它的表现是这样的。两个临时演员之间应该没有空隙。此外,使用git安装软件包已经包含在公认的答案中,尽管使用的是https
而不是ssh
。我想说,这个答案最好是作为一个编辑而不是被接受的答案,努力积累和构建知识
pip install -e 'git+ssh://git@github.com/user/project.git#egg=project[extra1,extra2]'