我当前的工作文件采用以下文件结构:
--Trick_Folder (root folder)
--try.py
--LTransform (sub-folder)
--encoder.py
--decoder.py
--sampler.py
--__init__.py
在我的try.py
中,我尝试从子文件夹LTransform
中编写导入其中一个模块,如下所示:
**Python-3.4.3
from LTransform import encoder
(注意:在encoder.py
中有一条import sampler
行
这是我得到的错误:
import sampler
ImportError: No module named 'sampler'
我试过了解它,但我无法绕过它。 __init__.py
已经在子文件夹中,我的PYTHONPATH
在根文件夹Trick_Folder
上设置为/home/user/Trick_Folder
为什么Python3解释器在从根文件夹(sampler.py
)导入encoder.py
时可以调用Trick_Folder
?
答案 0 :(得分:1)
要告诉python从当前目录导入,请使用:
from . import sampler
在encoder.py
答案 1 :(得分:1)
找到导入模块的正确方法。
在encoder.py
之前的import sampler
行,正如this Query所建议的那样,我按照@ahmed的建议改写了这行,但是自
import .sampler
发出invalid syntax
错误
from . import sampler
现在from LTransform import encoder
完美无缺。