赞
踩
如题,想必在在座的各位一定遇到过这个问题,当你使用的github库依赖了其他的库时,需要使用git submodule update --init拉取这些依赖,经常性的,在国内你会收获铺天盖地的error,failed(反正我是一次没有成功过)。
网上对于这个问题解决方案主要有两个:1)将.gitmodules中github的网站修改为各种国内的镜像网站;2)将.gitmodules中的各种库迁移到gitee中,再修改为gitee的URL。其中方案1我试了各种镜像,没有成功,可能我脸比较黑吧,方案2,懂的都懂,如果只有少数的依赖库那还好,遇到非常多的时候,想想就麻烦,而且部分很大的库,超过内存限制是没法迁到gitee中的。
对于git submodule update --init失败,很多人都说是你的梯子不够强劲,不够power,实际上我感觉不是这个问题,我的梯子可以满足我在YouTube流畅观看2K直播,这种速度搞个小小的git clone本应该是洒洒水的,但是就是不行,我也不知道为啥,这里不讨论原因,直接给出我的解决方案。
直接上干货:首先你需要google账号开通谷歌云盘,然后百度Google的colab的用法,是一个免费的GPU服务器,新建一个.ipynb文件,进入如下界面:
按顺序点击,完成挂载google云盘的操作,下面会增加一个drive文件,里面有个mydrive文件夹,就是google云盘的空间
然后右侧通过jupyter文件走到这个目录,可以右键,然后复制路径
jupyter里面,有些命令是前面加%有些是加!。
然后就可以开始git操作了,这里我以openvino为例,这个库按这套操作完有差不多4g的大小,在colab里面也就是几分钟的事情,流畅的一批,中间没有一个失败(如果有失败,多执行几次!git submodule update --init试试)。
完成clone和submodule update --init操作后,cd到外层目录,执行tar -cvf openvino.tar openvino打包,然后等几分钟,去google云盘里面看看,多了一个openvino.tar,右侧点击下载按钮下载下来就行。
原理:因为colab的服务器在外面,用colab执行submodule update --init操作就是他们内部的网络中实现,基本不会出问题,速度也快。从google云盘中下载打包好的tar文件对网络的要求又没那么高,所以算是用莫法打败魔法了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。