导入的模块无法导入子模块

时间:2020-06-09 11:52:12

标签: python python-3.x module python-import

我具有以下文件夹结构

premier_league/
 |_cli_stats/
    |__ __init__.py
    |__cli_stats.py
    |__get_data/
         |__get_stats.py
         |__get_id.py
         |__api_scraper/
              |__api_scraper.py

cli_stats.py中,我进行了以下导入:

from get_data.get_stats import SeasonStats

get_stats.py中,我进行了以下导入:

from api_scraper.api_scraper import Football

python cli_stats.py文件夹运行cli_stats时,发生以下错误。

  File "cli_stats.py", line 36, in <module>
    from get_data.get_stats import SeasonStats
  File "/Users/name/Desktop/Projekt/premier_league_api/cli_stats/get_data/get_stats.py", line 12, in <module>
    from api_scraper.api_scraper import Football
ModuleNotFoundError: No module named 'api_scraper'

但是从python get_stats.py文件夹运行get_data时,导入成功。为什么从cli_stats.py文件夹运行cli_stats时导入不起作用?

1 个答案:

答案 0 :(得分:1)

您必须将导入调整为相对导入。您必须从get_stats.py进入目录。错误是from api_scraper.api_scraper import Football是绝对导入。

尝试:在get_stats.py中

from .api_scraper.api_scraper import Football

(api_scraper前面1个点)