Python中ModuleNotFoundError: No module named 'pizza'问题求助
Python ModuleNotFoundError: No module named 'pizza' 排查求助
问题背景
文件位于C:\Projects\Pizza目录下,目录内包含:
- 空的
init.py文件 pizza.py文件make_pizza.py文件
运行making_pizzas.py时触发ModuleNotFoundError: No module named 'pizza'错误,已尝试在Sublime和Geany中运行,且做过以下操作:
- 检查环境变量
- 创建
init.py文件 - 重新安装Python
相关文件内容
pizza.py
def make_pizza(size, *toppings): """Summarize the pizza we are about to make.""" print("\nMaking a " + str(size) + "-inch pizza with the following toppings:") for topping in toppings: print("- " + topping)
making_pizza.py
import pizza pizza.make_pizza(16, 'olives') pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
报错回溯信息
File "C:\Projects\Pizza\making_pizzas.py", line 1, in <module> import pizza ModuleNotFoundError: No module named 'pizza' [Finished in 0.2s with exit code 1] [shell_cmd: python -u "C:\Projects\Pizza\making_pizzas.py"] [dir: C:\Projects\Pizza] [path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Python36\Python;C:\Users\kelly\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\Scripts;c:\users\kelly\appdata\local\packages\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\localcache\local\pip\cache\wheels\65\4f\66\bbda9866da446a72e206d6484cd97381cbc7859a7068541c36;C:\Projects;C:\Users\kelly\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\kelly\AppData\Local\Programs\Python\Python311\;C:\Users\kelly\AppData\Local\Microsoft\WindowsApps;]
排查思路
- 核对文件名一致性:确认目录内确实存在
pizza.py,且文件名无拼写错误(比如不要写成pizz.py或Pizza.py);另外你提到目录内有make_pizza.py,但运行的是making_pizzas.py,确认运行文件的位置是否在C:\Projects\Pizza目录下。 - 修正
__init__.py命名:Python识别包需要的是__init__.py(前后各两个下划线),而非init.py,将文件改名后重试。 - 统一Python解释器版本:从环境变量路径看,系统同时安装了Python36和Python311,确认编辑器使用的是正确的Python版本。比如在Geany中,可通过「构建」→「设置构建命令」,将Python命令改为对应版本的完整路径(如
C:\Users\kelly\AppData\Local\Programs\Python\Python311\python.exe)。 - 调试模块搜索路径:在
making_pizzas.py开头添加以下代码,查看Python的模块搜索路径是否包含当前目录:
如果当前目录不在输出列表中,手动添加路径后再导入:import sys print(sys.path)import sys sys.path.append('C:\\Projects\\Pizza') import pizza - 检查文件权限:确保
C:\Projects\Pizza目录及其中的pizza.py文件有读取权限,避免因权限限制导致Python无法加载模块。 - 排查同名冲突:确认系统中没有其他名为
pizza.py的文件,也没有通过pip安装过名为pizza的第三方包,避免模块名称冲突。
内容的提问来源于stack exchange,提问作者Alva Crouch
相关产品推荐
相关产品推荐

