我知道这是一个老掉牙的话题,但python中的导入机制仍然让大众感到困惑。我想要的是能够导入父目录中的自定义模块,以允许我将项目转移到另一个环境并使所有导入工作正常。 例如,这样的结构:
repo
|--- folder1
| |--- script1.py
|--- folder2
| |--- script2.py
|--- utils
|--- some-util.py
如何从script1
和script2
中的some-util.py
导入?我的想法是,我可以将repo克隆到远程主机,并从文件夹1和文件夹2运行脚本,这些文件夹可能具有some-util.py
的共享依赖项,但我不想在运行之前运行任何东西。我希望能够:
连接到接线盒
git clone repo
python repo/folder1/script1.py
脚本1和脚本2的内容:
import some-util
<code>
编辑:
我忘了提到,有时脚本需要从另一个目录运行,如:
/nas/some_folder/repo/folder1/script1.py args..
此外,该框仅限于python 2.7.5
技巧是将脚本实现为模块(阅读here和here了解
python -m
开关的含义)这是一个结构,请注意,每个目录都包含一个名为
__init__.py
的(空文件):utils.someutil
可能包含以下内容:您的
script1.py
可能包含以下内容:然后运行以下命令:
。。。产生:
相关问题 更多 >
编程相关推荐