ModuleNotFoundError 即使 __init.py__ 存在

ModuleNotFoundError even though __init.py__ exists

我有一个用 python 编写的不和谐机器人。但要注意的是,它仅在部署在 heroku 上时有效,但根本 运行 在本地根本不起作用。

这是文件夹结构

- feed 
  - __init__.py
  - token.py
  - main.py
-requirements.txt

当我运行命令python3.9 feed/main.py时,它给出了以下错误:

    from feed import token
    ModuleNotFoundError: No module named 'feed'

这里有什么问题?请注意,使用相同命令的 heroku 上的代码 运行s 没有任何错误。我在 Ubuntu 21.04.

如果我将 feed 更改为 .feed,我会收到有关绝对导入的其他错误。

请不要将我重定向到其他答案,我都试过了。

我不知道 Heroku 是如何工作的,但要在本地 运行 获取它,请尝试将您的导入更改为:

import token

如果要使用feed作为父目录,可以在文件夹中创建setup.py文件和运行pip install -e .。然后做

from feed import token

应该作为您的开发环境的一部分工作。