Python 在预提交挂钩中导入模块需要添加运行时路径
我想在Python 在预提交挂钩中导入模块需要添加运行时路径,python,git,import,module,Python,Git,Import,Module,我想在.git/hooks/pre-commit中的预提交钩子中导入和测试模块。结构如下: set_prefix.py temp.py .git |----hooks |----pre-commit 文件temp.py为: import set\u前缀 调用python3 temp.py不会抛出错误 对于.git/hooks/pre-commit,我使用导入操作系统进行了确认;打印(os.getcwd())工作目录与set\u prefix.py相同 以下导入失败: i
.git/hooks/pre-commit
中的预提交钩子中导入和测试模块。结构如下:
set_prefix.py
temp.py
.git
|----hooks
|----pre-commit
文件temp.py
为:
import set\u前缀
调用python3 temp.py
不会抛出错误
对于.git/hooks/pre-commit
,我使用导入操作系统进行了确认;打印(os.getcwd())
工作目录与set\u prefix.py
相同
以下导入失败:
失败,出现import set\u prefix
modulenofound错误:没有名为“set\u prefix”的模块
失败,原因是来自。导入集_前缀
(可能是因为)导入错误:尝试在没有已知父包的情况下进行相对导入
注释中提到的另一个解决方案是将目录转换成一个包含
\uuuu init\uuuuuuu.py
文件的包。但是我仍然不明白为什么导入可以从temp.py
工作,而不是从pre-commit钩子工作,如果它们都从同一个目录运行。@napuzba我阅读了教程。我仍然不明白为什么导入从temp.py
工作,而不是从预提交钩子(如果它们都从同一目录运行)工作,我更新了问题。@napuzba我阅读了教程。我仍然不明白为什么导入是从temp.py
进行的,而不是从pre-commit钩子(如果它们都从同一个目录运行)进行的,我更新了这个问题。