我有一个具有以下文件结构的Python项目:
在每个Python文件下,我都显示了我要导入的代码行:
.
├── README.md
├── requirements.txt
└── warbot
├── bots
│ ├── __init__.py
│ ├── telegram_bot.py
│ │ │ from warbot.lib.admin import WarBotAdmin
│ │ │ from warbot.lib.vars import TELEGRAM_VARS, DATABASE_FILENAME
│ └── twitter_bot.py
│ │ from warbot.lib.twitter import WarBotTwitter
│ │ from warbot.lib.vars import TWITTER_VARS, DATABASE_FILENAME
├── database
│ └── warbot_db.json (TinyDB database)
├── __init__.py
├── lib
│ ├── admin.py
│ │ │ from .telegram import TelegramInterface
│ │ │ from .database import WarBotDB
│ │ │ from .warbot import WarBot
│ │ │ from .vars import log
│ ├── api.py
│ │ │ from .database import WarBotDB
│ ├── database.py
│ │ │ from .vars import log
│ ├── imagehandler.py
│ ├── __init__.py
│ ├── telegram.py
│ ├── twitter.py
│ │ │ from .warbot import WarBot
│ │ │ from .api import WarBotAPI
│ │ │ from .database import WarBotDB
│ │ │ from .imagehandler import WarBotImageHandler
│ ├── vars.py
│ └── warbot.py
│ │ from .database import WarBotDB
├── __main__.py
├── output (some logs)
│ ├── logs_telegram.txt
│ └── logs_twitter.txt
├── resources
│ ├── (various resources)
└── tmp
└── info.txt
我正在尝试编译telegram_bot.py
和twitter_bot.py
文件,但是它们的编译会导致 ModuleNotFoundError :没有名为warbot
的模块。
此外,当我尝试编译时,仅检查导入文件admin.py
(例如),就会抛出 ModuleNotFoundError :没有名为'__main__.telegram'
的模块; '__main__'
不是软件包。
我一直在记录自己有关Python导入的信息,甚至我的IDE都不会在这种结构上出错。