我正在尝试创建一个github存储库,它可以从任何克隆运行,而无需硬编码目录依赖项。在
假设在我的repo中有一个名为myscript.py位于:
/d/e/f/github/myrepo/myscript/myscript.py
但我知道我的脚本依赖于通常位于以下位置的通用工具:
^{pr2}$因此,如何让脚本始终加载myutils.py,其中的相对路径myutils.py关于myscript.py总是../myutils/myutils.py在
到现在为止myscript.py看起来像:
# Import modules
import sys
sys.path.append('/d/e/f/github/myrepo/myutils/')
import myutils
现在我们可以看到完整的路径myutils.py是硬编码的,所以如果其他人在自己的计算机上克隆他们的回购协议,那就行不通了。在
理想情况下,用户应该能够运行myscript.py具体如下:
cd /d/e/f/github/myrepo/myscript/
python myscript.py -h
或者
python /d/e/f/github/myrepo/myscript/myscript.py -h
它应该可以工作而不必硬编码到myutils模块的完整路径,而只是相对路径。。。在
通过做一些研究,这似乎是一个可能的答案:
相关问题 更多 >
编程相关推荐