本方法针对某些项目比如openMVS下载依赖过程中依赖包过多的下载问题作了一些小改进:
最近在装openMVS,根据building的指引,我需要使用vcpkg下载各种依赖。
不得不说这玩意是我见过最致命的包管理工具,半天下载不下来,一百多个包,简直要命。
在下载过程中,发现会有如下提示:
可以看到最后一行的url,实际上可以使用这个url直接拿到浏览器当中下载。
如果包少还好,包多的话,我需要一个一个下载,并且修改名称为->后边的字符串,非常麻烦。最后无奈为了稍微加速,只能用Python写个脚本:
import urllib.request
#每次根据vcpkg的提示找到这个字符串复制过来
url = 'https://github.com/opencv/opencv/archive/4.5.1.tar.gz -> opencv-opencv-4.5.1.tar.gz'
#字符串拆解
x=str.split(url,'-> ')
print("downloading...")
#下载包的目的地址dir
dir="D:\\users\\jt\\3Dviewer\\vcpkg\\downloads\\"
#x[0]是下载链接,x[1]是下载包应该重命名的名称
req = urllib.request.Request(x[0])
print(x)
urllib.request.urlretrieve(x[0], dir+x[1])
print("finish...")