项目结构如图,root目录为auto_zboa\
项目结构变了一下
auto_zboa
└── zboa
├── framework
│ ├── __init__.py
│ └── locations.py
| └── browser_engine.py
| └── logger.py
├── pageobjects
│ ├── __init__.py
│ └── loginPage.py
├── __init__.py
└── manage.py
为啥我在mange.py里导入包from zboa.pages.loginpage import LoginPage总是显示ModuleNotFoundError: No module named 'zboa'
在其他文件夹里导入也是这个错误?
在loginPage.py里
from zboa.framework.locations import Locations
提示ModuleNotFoundError: No module named 'zboa'
如何能保存这样规范的引入方式呢?
要导入上级目录下模块,使用sys.path:
参考:https://zhuanlan.zhihu.com/p/...
关于你的情况,程序入口在manage.py的话,可以不用上面这个。
模仿目录
文件内容
Locations.py
loginPage.py
manage.py
运行OK
追加内容
~/project/auto_zboa/zboa$ python pages/loginPage.py
运行报错~/project/auto_zboa/zboa$ python -m pages.loginPage
运行OK如果是在auto_zboa目录下运行,
~/project/auto_zboa$ python -m zboa.pages.loginPage
那么loginPage.py中要改为
from zboa.locations.Locations import Locations