Jor*_*zen 5 python-import importerror python-3.x
我想将一些代码从python 2移植到python 3,并且在导入错误时失败。因此,我尝试通过创建2个要测试的基本python文件来摆脱自身的移植并专注于导入。但是,我什至无法使它们工作。
所以我有2个档案
test.py:
print('Test works')
Run Code Online (Sandbox Code Playgroud)
和test2.py:
from . import test
Run Code Online (Sandbox Code Playgroud)
但是,结果是Pycharm中的此错误:
ImportError:无法从“ __main__”导入名称“ test”(C:/Users/Username/test2.py)
在Ubuntu Shell中:
Traceback (most recent call last): File "test2.py", line 1, in from . import test1 SystemError: Parent module '' not loaded, cannot perform relative import
How can I solve it?
小智 5
这种“文件夹结构很重要”是python3中的一个大问题。编码时您的文件夹结构应该无关紧要,但应该正确引用。
我只是根据是在本地运行还是作为模块的一部分来使用 if/else:
if __name__ == "__main__": # Local Run
import test
else: # Module Run, When going production - delete if/else
from . import test
Run Code Online (Sandbox Code Playgroud)
在Python3中
测试2.py:
import test
Run Code Online (Sandbox Code Playgroud)
测试.py:
if __name__ == "__main__":
print('Test works')
Run Code Online (Sandbox Code Playgroud)
如果你想在其他文件test2.py中打印“Test Works” :
import test
test.main()
Run Code Online (Sandbox Code Playgroud)
测试.py:
def main():
print('Test works')
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2553 次 |
| 最近记录: |