直接从非 Poetry 管理的模块导入 Poetry 项目中的模块

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

我有一个正在使用的现有代码库,对于任何新代码,我使用 Poetry 来管理模块、依赖项等。对于现有代码,我正在慢慢地迁移代码,但这显然有点乏味且耗时。 Poetry 项目之外仍然存在一些代码,在我可以将其迁移之前,我只想从这个外部文件调用 Poetry 中的模块。

这是文件结构的示例:

├───modules-project
│   │   poetry.lock
│   │   pyproject.toml
│   │
│   └───modules
│           some_client.py
│           __init__.py
│
└───scripts
        script.py

script.py
里面,我想导入
some_client.py
。做到这一点最简单的方法是什么?这些代码都在同一个存储库中,并且考虑到它最终会被重写或迁移到 Poetry 项目中,我希望避免创建另一个 Poetry 项目、导出
modules
Poetry 项目然后安装的所有麻烦我不在乎
script.py
内部的解决方案有多脏,只要它能看到
script.py
模块及其依赖项即可。
some_client.py


python python-import python-module python-poetry
1个回答
0
投票
这里

有不同的方法来解决这个问题。

例如:

在 script.py 文件中写入:

# inside `script.py` import modules-project.modules.some_client.py # <-- what should this actually be?

现在移出项目的父文件夹(假设它称为“main”),然后从那里执行 python:

from ..modules-project.modules import some_client

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