为什么我在导入目录中的文件时出现 ModuleNotFoundError 错误?

问题描述 投票:0回答:2

我在 vs code 中打开了一个远程 github 存储库,其中包含一个 uni 项目。项目结构如下:

walking_panda
└──__init__.py
└── cli.py
└── panda.py
walking_panda.py

walking_panda.py 包含以下代码:

#!/usr/bin/env python

from walking_panda.cli import cli

if __name__ == '__main__':
    cli()

执行文件时会返回此错误:

ModuleNotFoundError: No module named 'walking_panda'

我的 from 语句是否有问题,或者是否与文件位于远程存储库中而不实际存储在我的计算机上有关?我还在 vs code 上使用 Jupyter Interactive 扩展来运行(如果这有什么区别的话)。还使用 linux mint。

python github jupyter importerror modulenotfounderror
2个回答
0
投票

文件

walking_panda.py
很可能是从与其所在目录不同的目录执行的。 如果可以修改的话,尝试添加:

import os
print(os.getcwd())
print(os.listdir())

这应该显示从哪里调用

python
以及在同一位置是否存在模块
walking_panda
。有关信息,当前工作目录(执行
python
的位置)插入到
sys.path
的索引 0 处,其中列出了可以从中导入模块的所有目录。


-1
投票

您遇到的错误表明Python解释器无法找到“walking_panda”模块。造成此问题的原因可能有几个。

  1. 确保远程 GitHub 存储库已正确克隆或下载到您的计算机上。确保所有必需的文件(包括“walking_panda”目录)在本地可用。

  2. 仔细检查您的 Python 环境是否设置正确。确认已安装必要的包和依赖项。您可以使用“pip”包管理器来安装任何缺少的模块。

  3. 验证代码中的文件路径是否正确。确保“walking_panda.py”中的导入语句准确反映目录结构和文件名。

from walking_panda.cli import cli
  1. 确认“walking_panda”目录中有一个名为“init.py”的空文件。该文件对于 Python 将其识别为包至关重要。

  2. Jupyter Interactive 扩展或文件位于远程存储库中的事实不太可能导致此特定问题。但是,值得注意的是,无论远程存储库或 Jupyter 扩展如何,Python 解释器都应该有权访问所需的文件。

通过解决这些潜在原因,您应该能够解决“ModuleNotFoundError”并成功执行您的代码。如果您仍然遇到问题,请提供更多详细信息或参阅您共享的 Stack Overflow 线程以获得进一步的故障排除帮助。

© www.soinside.com 2019 - 2024. All rights reserved.