Python:ModuleNotFoundError:没有名为...的模块?

问题描述 投票:0回答:1

我正在尝试在 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

如何解决这个错误。 我似乎已经完成了所有需要的配置,但错误仍然存在。

python visual-studio-code pycharm
1个回答
0
投票

简短回答

重命名 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

© www.soinside.com 2019 - 2024. All rights reserved.