Pip:将依赖项安装为editab

2024-03-29 09:10:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个内部的Python应用程序,它部署为一个包的集合,我需要一种方法,让开发人员可以快速地签出所有这些包作为可编辑源,这样整个应用程序就可以在原位编辑,所有包中的更改可以轻松地推回到原始的git服务器。此外,非开发人员需要将应用程序作为传统包进行部署。在

假设我有一个顶级包,它的setup.py如下所示:

# ...
setup(name="Foo",
      # ...
      url="https://mygitserver.com/Foo",
      install_requires=[
          "Bar>=0.0.1",
      ],
      dependency_links=["git+https://mygitserver.com/Bar@0.0.1#egg=Bar-0.0.1",],
      # ...
  )

我可以使用以下命令将此软件包安装为可编辑

^{pr2}$

这将创建一个目录src/foo,并用从git服务器签出的Foo的源代码填充它。这很好。在

依赖项Bar也从git服务器检索,但它不是作为可编辑的安装的。pip3 freeze只是将其显示为一个名为Bar的常规安装包,因此git URL也会丢失。在

有没有一种方法可以干预并让pip安装一些(不一定是所有)依赖项作为可编辑的?或者在这种情况下我需要使用requirements.txt?如果我必须使用requirements.txt,那么在非开发人员部署时,如何确保这些依赖项正常安装?在

我知道pip>;10意味着要取消dependency_links,但目前我还只能使用pip9.0.2。我使用的是python3.5。我的目标是一个嵌入式平台,这个平台很难改变这些,所以这些版本是我目前正在处理的。如果pip>;=10可以在这方面做一些新的工作,那么我可以考虑升级,在这个系统上做这件事不是件小事。在


Tags: pip方法httpsgit服务器com应用程序编辑