我正在开发一个项目,该项目需要来自开源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
下载所需的实用程序。到给定路径 在运行代码时从该路径导入。
谢谢!
答案 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')
在两种情况下,您可能都需要检查它是否尚未下载,因此不会每次都重新安装。当然,还要添加很多错误检查。