python - 属性错误 : module '' has no attribute '__path__'

标签 python python-3.x module package

我遇到了一个问题,我不知道如何进一步调试。

我有一个具有不同目的的项目,其中使用了 Python 3。
我创建了一个名为 的 Python 包包 .
包的顶级目录位于 我的项目/python/ .
在文件系统中,它具有以下结构:

- /home/myuser/myproject/python
--- package/
------ __init__.py
------ myutil.py
------ sub_package/
---------- __init__.py
---------- sub_sub_package/
-------------- __init__.py
-------------- myscript.py

全部 __init__.py 文件是空白的,除了根目录( package/__init__.py ),它具有以下内容:
from . import myutil

到现在为止还挺好。
文件我的脚本.py 实际上是一个可以直接运行的 Python 脚本。
由于它位于一个包中,因此我正在执行它:
cd /home/myuser/myproject/python
python -m package.sub_package.sub_sub_package.myscript

现在奇怪的部分。该脚本按预期工作。
但是,程序完成后,我收到以下消息:
/usr/bin/python3: Error while finding module specification for 
'package.sub_package.sub_sub_package.myscript.py'
(AttributeError: module 'package.sub_package.sub_sub_package.myscript' 
has no attribute '__path__')

我一直在网上搜索,但无济于事。
无法弄清楚导致此消息的原因以及如何解决它。
我猜这是 Python 3 导入处理的一些模糊行为,但不知道。
任何帮助是极大的赞赏。

最佳答案

使用文件名“fibo.py”运行 python 3 脚本的两种方法':
参数是 .py 文件的名称。

python fibo.py
参数是 Python 模块的名称,不带 .py
python -m fibo

关于python - 属性错误 : module '' has no attribute '__path__' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52317696/

相关文章:

python - sendLine 中的扭曲类型错误

python - 将 Django 应用程序部署到 Elasticbeanstalk : Error installing packages with Pip

JavaScript 模块关键字

python - Codecademy - Python - 学生成为老师 8/9 - 整体的一部分

python - 如何通过远程文件系统进行非阻塞读/写

python - 在python mysqldb中转义单引号

ruby-on-rails - rails : controller helpers

python - 填写日期并使用以前的值

python - 执行用 yaml 编写的带有变量的 python 脚本

java - 自定义 Android 模块中的重复条目 : org/appcelerator/titanium/gen/bindings. json