从github repo下载并从repo导入.py文件以供使用

时间:2019-07-01 18:10:08

标签: python git

我正在开发一个项目,该项目需要来自开源git repo的一些实用程序功能。目前,我在本地下载实用程序功能,并将其导入我的python代码中,如下所示:

path_to_spacenet_utils = 'path/to/my/local/satellite_project/utilities'
sys.path.insert(0,path_to_spacenet_utils)
from spacenetutilities import geoTools as gT

但是,我想使这个过程自动化:

说,它可以从https://github.com/SpaceNetChallenge/utilities.git

下载所需的实用程序。

到给定路径 在运行代码时从该路径导入。

谢谢!

1 个答案:

答案 0 :(得分:0)

有几种方法可以从python的github下载回购。这是一对,我敢肯定还有更多:

1:将shell换成git,或者: 2:从github下载一个tgz并将其解压缩

对于第一种方法,请执行以下操作(未经测试):

import os, subprocess
os.chdir('some dir')
url = `https://github.com/SpaceNetChallenge/utilities.git`
subprocess.call('git clone "{}" spacenetV3'.format(url))

第二种方法(tgz),使用urllib.request(也未经测试):

import urllib.request, subprocess
url = 'https://github.com/SpaceNetChallenge/utilities/archive/spacenetV3.zip'  
urllib.request.urlretrieve(url, 'spacenetV3.zip')  
subprocess.call('unzip spacenetV3.zip')

在两种情况下,您可能都需要检查它是否尚未下载,因此不会每次都重新安装。当然,还要添加很多错误检查。