我正在尝试在 VScode/Pycharm 上运行一个非常简单的 python 项目。
目录结构
PythonAnalyticalProject/
├── sales_analysis/
│ ├── __init__.py
│ ├── cli.py
│ ├── constants.py
│ ├── db.py
│ ├── sales_analysis.py (contains main)
├── images/
│ ├── image1.png/
│ └── image2.png/
├── setup.py
└── requirements.txt
我已经安装了requirements.txt依赖项,并且还在PYTHONPATH中添加了项目目录。
但是当我执行 sales_analysis.py 时仍然出现错误。
ModuleNotFoundError: No module named 'sales_analysis.cli'; 'sales_analysis' is not a package
此错误源自具有 import 语句的行
from sales_analysis.cli import user_continue
如何解决这个错误。 我似乎已经完成了所有需要的配置,但错误仍然存在。
重命名 sales_analysis 文件夹或 sales_analysis.py 文件以避免命名冲突。
由于您正在运行 sales_analysis.py,因此替换更合适:
蟒蛇
from sales_analysis.cli import user_continue
与:
蟒蛇
from .cli import user_continue
此更改是必要的,因为目录中已经有一个文件夹。如果运行 setup.py,文件夹的命名不会有问题。
通过使用相对导入(from .cli import user_continue),您可以正确引用同一包中的 cli 模块。这种方法确保了兼容性并避免与包命名发生冲突。
欲了解更多信息,您可以参考以下文章 真正的Python