首页 > 解决方案 > ubuntu 上的 Python 无法识别当前包

问题描述

我有一个结构如下的python项目:

--prj
----app
------__init__.py
------mod1.py
------run.py
----README.md

run.py 的内容是

from app.mod1 import *

当我在 Windows 中运行时,它工作得非常好。在 Ubuntu 中,它报告“ModuleNotFoundError: No module named 'app'”

开始参数很简单“cd ...prj/app; python3.6 run.py”

我试图找出 sys.path,通过“python3.6 -c 'import sys;print(sys.path)'” 结果是

['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']

为什么会这样?

标签: pythonubuntu

解决方案


出现问题是因为您的 python 脚本的名称与模块名称相同。尝试重命名 app.py,例如重命名为 app_main.py,它应该可以工作。


推荐阅读