当我致电python __main__.py
我收到错误消息:
从facebook.fb_api导入FacebookApi ModuleNotFoundError:没有名为“ facebook”的模块
# __main__.py
from facebook.fb_api import FacebookApi
if __name__ == "__main__":
api = FacebookApi()
api.start()
项目结构
facebook/
├── cache.py
├── configs.py
├── fb_api.py
├── __init__.py
├── __main__.py
├── parser
│ ├── cfg.py
│ ├── example.json
│ ├── __init__.py
│ ├── models.py
│ ├── run_parser.py
│ └── utils.py
├── __pycache__
│ └── fb_api.cpython-36.pyc
├── request_handler.py
└── services
├── case_service.py
└── __init__.py
答案 0 :(得分:2)
您的fb_api.py
与__main__.py
位于同一目录中,因此您的应用程序不存在facebook
文件夹。从您的导入中删除它,它应该可以工作
答案 1 :(得分:0)
因为__main__.py
在同一目录中。因此,只需导入fb_api
。要使用Facebook.fb_api
,然后将 main .py移至Facebook目录。
答案 2 :(得分:0)
您需要从目录结构的更高级别运行代码。与其从facebook
文件夹中运行,不如使用python -m facebook
从其父文件夹中运行。 -m
标志通过其Python名称(在本例中为facebook
包)告诉Python您正在运行模块。以这种方式运行的软件包会将其__main__.py
文件作为主脚本运行,这正是您想要的。
答案 3 :(得分:0)
尝试本地导入
# __main__.py
from .fb_api import FacebookApi
if __name__ == "__main__":
api = FacebookApi()
api.start()