同文件夹下import模块报错:__main__.xx.py
关于这个错误常见于命令端或服务器远程开发时出现,有很多文章做过原因分析,这里不做赘述
下面说说解决办法:
方法一:同文件夹下的模块可以相互调用,但不要出现可直接执行代码,如__main__之类
然后在文件夹外创建模块,比如创建一个入口模块main.py 通过相对路径调用上述文件夹中的模块,如import 文件夹A.模块1 或者from 文件夹A.模块1 import *
以此调用相关功能模块不会报错
方法二:使用__all__=[]列表
使用pycharm创建包时,会自动在包内生成一个__init__.py模块,但我们通过文本编辑器创建包时,需要注意自己创建__init__.py模块,
此时仍不能达到pycharm中
from .模块名 import *
这样的调用还是会报错,需要手动在__init__.py中加入
__all__ = ['模块名1','模块名2',....]
然后在同文件夹下的模块中就可以通过以下代码来调用__init__.py的__all__列表中声明的模块了
from 模块名 import *