从 python 中的项目导入时找不到模块
Cannot find module when importing from project in python
我的目录结构如下所示:
我想在 compose_dataset.py
中导入 util/misc.py
中的一些实用函数。但是,我无法使导入语句起作用。
我正在研究 Windows Python3.5.4,因此根据我的阅读,我不再需要 __init__.py
文件。项目文件夹是我的 PYTHONPATH
的子文件夹,它仅指向 E:\Python。到目前为止,我尝试过:
from misc import *
from util import *
from util.misc import *
from ..util.misc import *
并收到 ImportError: No module named 'xyz'
或 ImportError: attempted relative import with no known parent package
。我也尝试添加 init-files 但我没有使用这些的经验,只是向每个目录添加一个,但(令人惊讶的是)这也没有用。
我在这里错过了什么?
试试这个:
import sys
sys.path.insert(0, '../')
from util.misc import *
您可能还想看看这个 post:How to access a module from outside your file folder in Python?
将您的 PYTHONPATH
设置为 .
,然后将 __init__.py
文件添加到您要从中导入的每个目录中,在您的情况下将其添加到 src
, data
、util
个目录。假设您 运行 您的 "entry point" 脚本来自项目的根目录(与您的 README.md
文件所在的位置相同),要导入使用此代码:
# compose_dataset.py file
from src.util.misc import function_name
我的目录结构如下所示:
我想在 compose_dataset.py
中导入 util/misc.py
中的一些实用函数。但是,我无法使导入语句起作用。
我正在研究 Windows Python3.5.4,因此根据我的阅读,我不再需要 __init__.py
文件。项目文件夹是我的 PYTHONPATH
的子文件夹,它仅指向 E:\Python。到目前为止,我尝试过:
from misc import *
from util import *
from util.misc import *
from ..util.misc import *
并收到 ImportError: No module named 'xyz'
或 ImportError: attempted relative import with no known parent package
。我也尝试添加 init-files 但我没有使用这些的经验,只是向每个目录添加一个,但(令人惊讶的是)这也没有用。
我在这里错过了什么?
试试这个:
import sys
sys.path.insert(0, '../')
from util.misc import *
您可能还想看看这个 post:How to access a module from outside your file folder in Python?
将您的 PYTHONPATH
设置为 .
,然后将 __init__.py
文件添加到您要从中导入的每个目录中,在您的情况下将其添加到 src
, data
、util
个目录。假设您 运行 您的 "entry point" 脚本来自项目的根目录(与您的 README.md
文件所在的位置相同),要导入使用此代码:
# compose_dataset.py file
from src.util.misc import function_name