python - 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']
为什么会这样?
解决方案
出现问题是因为您的 python 脚本的名称与模块名称相同。尝试重命名 app.py,例如重命名为 app_main.py,它应该可以工作。
推荐阅读
- android - 在android中使用jsoup时,我要连接的站点和加载的站点不同
- python - 如何在 Flask 中分别上传多个文件?
- c# - Visual Studio 与 Unity 不对应
- hadoop - 在 HBase 中如何读取数据?
- flutter - 位置参数太多,预期为 0,但找到了 3 个
- django - 如何使用户模型的 ModelForm 验证 Django 中的空输入字段?
- javascript - 在具有相同 SVG 坐标的 Canvas 图像上定位 Div
- javascript - Expressjs 如何决定调用哪个错误处理程序。如果我们有多个错误句柄
- mysql - 当数据库更改时,socket.io 中的值不会更新
- java - Java RegEx doesn't replaceAll