我具有以下目录结构
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