无法导入本地模块python [重复]

fruv7luv  于 2023-04-13  发布在  Python
关注(0)|答案(1)|浏览(89)

此问题已在此处有答案

Relative imports in Python 3(30个回答)
Relative imports for the billionth time(12个答案)
昨天关门了。
我试图在python中导入本地模块,但由于某种原因,它无法找到模块。我知道您可以通过使用sys将它们添加到路径中来导入它们。但我不想使用sys。我的文件结构如下所示

scraper_backend
    - jobs
        - extract.py
        - load.py
        - models.py
        - transform.py
        - url_builder.py
main.py

我的main.py看起来像这样。

from datetime import datetime, timedelta
from scraper_backend.jobs import extract, load, transform

def main():
    # Extract
    wind = extract.extract_wind(datetime.now())
    solar = extract.extract_solar(datetime.now())
    # Transform
    date = extract.round_dt(datetime.now()) - timedelta(minutes=15)
    df = transform.update_file(date, wind, solar)
    # Load
    load.write_to_path(df, "energy.parquet")

main()

目前我正在使用

sys.path.append("scraper_backend//jobs")

但是当我删除sys.path.append时,它给了我ModuleNotFoundError: No module named 'scraper_backend.jobs。有人知道我做错了什么吗?谢谢你的帮助。

kr98yfug

kr98yfug1#

你需要在jobs文件夹中添加一个名为__init__.py的文件。这告诉python这个目录是一个可以导入的包。
例如,如果您具有以下目录结构:

scraper_backend
    - jobs
        - __init__.py
        - extract.py
        - load.py
        - models.py
        - transform.py
        - url_builder.py

然后你可以像这样导入jobs包:
from scraper_backend.jobs import提取、加载、转换

相关问题