无法从子目录导入Python3中的模块
我当前的工作文件采用以下文件结构:无法从子目录导入Python3中的模块,python,python-3.x,python-import,Python,Python 3.x,Python Import,我当前的工作文件采用以下文件结构: --Trick_Folder (root folder) --try.py --LTransform (sub-folder) --encoder.py --decoder.py --sampler.py --__init__.py 在mytry.py中,我尝试编写从子文件夹lttransform导入一个模块,如下所示: **Python-3.4.3 from LTransform import encode
--Trick_Folder (root folder)
--try.py
--LTransform (sub-folder)
--encoder.py
--decoder.py
--sampler.py
--__init__.py
在mytry.py
中,我尝试编写从子文件夹lttransform
导入一个模块,如下所示:
**Python-3.4.3
from LTransform import encoder
(注意:在encoder.py
中有一个导入采样器
行)
这就是我得到的错误:
import sampler
ImportError: No module named 'sampler'
我试着去理解它,但我无法理解它。\uuuu init\uuuuuu.py
已在子文件夹中,并且myPYTHONPATH
在根文件夹Trick\u文件夹上设置为/home/user/Trick\u文件夹
从根文件夹(Trick\u文件夹
)导入encoder.py
时,为什么Python3解释器可以调用sampler.py
?要告诉python从当前目录导入,请使用:
from . import sampler
在encoder.py
中,要告诉python从当前目录导入,请使用:
from . import sampler
在您的encoder.py
中,找到了导入模块的正确方法
在我的encoder.py
中,行import sampler
以前就在这里,正如@ahmed所建议的那样,我重写了该行,但后来做了一些更改
import .sampler
给出无效语法
错误
解决方案
现在,LTransform import encoder的功能完美。找到了导入模块的正确方法
在我的encoder.py
中,行import sampler
以前就在这里,正如@ahmed所建议的那样,我重写了该行,但后来做了一些更改
import .sampler
给出无效语法
错误
解决方案
现在,from lttransform import encoder
工作得很好。我试过了,但是它给了我无效语法
我正在运行import
fromPython3 shell
我试过了,但是它给了我无效语法
我正在运行import
fromPython3 shell