如何用诗歌管理可编辑共享库?

问题描述 投票:0回答:1

我有2个python项目A和B

  • A取决于B
  • B是供其他项目使用的共享库
  • B需要很长时间来构建和安装

以前,当我必须在新计算机上设置开发环境时,工作流程为:

  1. 创建虚拟环境
  2. git clone A和B
  3. 运行B的设置开发
  4. 运行A的设置开发

现在我可以编辑A和B并将更改推送到git,而不必每次都在A和B上重新运行安装程序。

现在,我想将诗歌融入我的工作流程中。理想情况下,我希望能够git clone A并运行poetry install A并使其镜像我的上述设置,但是我在通过A的设置来安装B的同时仍使B保持可编辑状态时遇到了麻烦。基于此thread,似乎无法在两个项目之间共享venv。

我的权宜之计解决方法是:

  • git clone A和B
  • 诗歌安装B
  • 编辑A的pyproject.toml以指向我手动安装的B目录(B = {path = "../B/"}
  • 诗歌安装A

我真的不喜欢这个工作流程,因为A的pyproject.toml现在只能在我的计算机上工作。我浏览了问题线程和诗歌文档,但找不到解决这种情况的解决方案。任何和所有建议都将不胜感激。

A的pyproject.toml

[tool.poetry.dependencies]
python = "^3.7"
# B = {git = "https://repo.com/myrepo/B.git"}
B = {path = "../B/"}

编辑:我意识到,如果我在A之前安装B并在安装A之前编辑pyproject可以阻止B的2次安装

python git virtualenv continuous-deployment python-poetry
1个回答
0
投票
我不确定这是否可以解决您的问题,但是您可以通过先创建虚拟环境,然后在其中安装两个项目的依赖项,来对两个项目使用一个venv(是您想要的吗?)。

我现在无法验证,但类似的方法可能会有所帮助:

# create the virtual environment and activate $ python3 -mvenv .venv $ . .venv/bin/activate # install dependencies of both projects in it $ cd B $ poetry install $ cd ../A $ poetry install

© www.soinside.com 2019 - 2024. All rights reserved.