【发布时间】:2019-04-04 17:12:52
【问题描述】:
我得到了一个可以自行运行的 python 程序。这种结构使得有一个 .py 文件(我们称之为 app.py)从附近的文件夹中导入许多其他脚本并使用它们来做某事。这些其他模块具有本地 config.txt 文件,并且还导入其他本地模块。
我想在其他地方有我自己的脚本来导入这个“app.py”并从中调用一个函数。问题是:我想调用的这个函数取决于相对导入到 app.py 本身的其他模块,当我尝试将 app.py 导入我的脚本时,它告诉我我找不到该应用程序的相对导入。 py 有。
我已经做了很多挖掘工作(添加 __init.py__ 文件,使用 system.path.append / insert 东西我现在很熟悉),我发现当我尝试运行我的脚本它成为当前工作目录,并且从 app.py 导入的任何相关目录(由我的脚本导入)都找不到,因为它不存在。
我能做什么,我可以使用绝对路径导入所有内容,或者将每个包/文件夹添加到系统路径,但由于有超过 10 个包,我不想这样做。如果我移动 app.py 和它周围的模块,那也会有问题。
app.py 非常独立,可以放在任何地方。我将不胜感激任何建议以一种很好/优雅的方式解决这个问题。
TL;DR :我有一个脚本试图在另一个目录中导入另一个脚本,但它也导入具有相对路径的其他脚本。我尝试导入的脚本已导入,但无法导入它通常导入的其他脚本。
【问题讨论】:
标签: python python-2.7 python-import