使用符号链接时出现ModuleNotFoundError

时间:2019-05-19 22:34:43

标签: python python-3.x python-3.6

我具有以下目录结构

parent_directory/
+-- utils.py
+-- child_directory/
|   +-- script.py
+-- results_directory/
|   +-- results1
|   +-- results2

child_directory/中有几个脚本不会互相导入任何内容。但是,它们都从utils.py中的parent_directory/导入内容,并使用results_directory中的数据。而不是一个个地将脚本复制到父目录。我只想在child_directory/script.py中建立parent_directory文件的软符号链接。在parent_directory中,我使用ln -s child_directory/script.py .ln -s absolute/path/to/child_directory/script.py .进行链接。然后使用python script.py运行脚本。

以下是script.py的示例代码:

from utils.py import results_reader

# Do work

当我使用parent_directory中的符号链接运行脚本时,出现以下错误:

ModuleNotFoundError: No module named 'utils'

我不太了解这里发生了什么。 os.getcwd()显示当前路径为parent_directory/。它不应该能够读取utils.py文件吗?当我通过将其复制到script.py来运行parent_directory/时,它运行无误

当我将from utils.py import results_reader更改为from .utils.py import results_reader时,出现以下错误:

ModuleNotFoundError: No module named '__main__.utils'; '__main__' is not a package

0 个答案:

没有答案