Python 3中的ModuleNotFoundError,但Python 2中没有

时间:2019-02-20 20:06:05

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

我有一个项目,希望在不同的机器上运行,而无需修改PYTHONPATH环境变量。我的项目结构如下:

awesome_project/
  data/
  scripts/
    __init__.py
    predict/
      importer/
        __init__.py
      __init__.py
      predict.py
    train/
      importer/
        __init__.py
      __init__.py
      train.py
    utils/
      __init__.py
      configuration.py

在我的预测和培训代码中,我需要导入utils中配置文件中定义的变量。在Python 2中,我定义了importer模块,其中__init__.py具有以下代码:

import sys
from os import getcwd
from os.path import sep

root_path = sep.join(getcwd().split(sep)[:-2])
sys.path.append(root_path)

它起到了魅力。我将变量导入为:from scripts.utils.configuration import models_path,但是现在我将代码迁移到Python 3,这根本不起作用,我收到以下错误:

Traceback (most recent call last):
  File "predict.py", line 11, in <module>
    from scripts.utils.configuration import models_path
ModuleNotFoundError: No module named 'scripts.utils'

我在做什么错了?

0 个答案:

没有答案