此问题已在此处有答案:
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
。有人知道我做错了什么吗?谢谢你的帮助。
1条答案
按热度按时间kr98yfug1#
你需要在jobs文件夹中添加一个名为
__init__.py
的文件。这告诉python这个目录是一个可以导入的包。例如,如果您具有以下目录结构:
然后你可以像这样导入jobs包:
from scraper_backend.jobs import提取、加载、转换