Dagster 无法导入模块

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

我是 Dagster 的新手,我正在努力将我的模块导入到 Dagster 代码中。 这是我的项目结构。

.
├── pyproject.toml
├── README.md
├── setup.cfg
├── setup.py
├── my-project
│   ├── assets.py
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── assets.cpython-311.pyc
│   │   └── __init__.cpython-311.pyc
│   ├── scaled_dataset.csv
│   └── utilities
│       ├── dataset.py
│       ├── __init__.py
│       ├── nn.py
│       ├── plotting.py
│       ├── testing.py
│       └── training.py

在我的

__init__.py
my-poject
我已经设置了

from dagster import Definitions, load_assets_from_modules

from . import assets, utilities

all_assets = load_assets_from_modules([assets, utilities])

defs = Definitions(
    assets=all_assets,
)

在我的代码中

assets.py
我有(例如):

from utilities.plotting import plot_dataset

但是,当我运行“dagster dev”时,它返回:

ModuleNotFoundError: No module named 'utilities'

Stack Trace:
  File "/home/user/PycharmProjects/Dagster/venv/lib/python3.11/site-packages/dagster/_core/code_pointer.py", line 135, in load_python_module
    return importlib.import_module(module_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/user/PycharmProjects/Dagster/my-project/my-project/__init__.py", line 3, in <module>
    from . import assets, utilities
  File "/home/user/PycharmProjects/Dagster/my-project/my-project/assets.py", line 12, in <module>
    from utilities.plotting import plot_dataset

我错过了什么? 谢谢

python import python-module dagster
1个回答
0
投票

我会尝试这个:

首先,将

my-project
重命名为
my_project
。 接下来,从根文件夹将项目安装为可编辑:
pip install -e .

然后更新您的导入,使它们看起来像这样:

from my_project.utilities.plotting import plot_dataset

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