好吧,在阅读了Fabio Nelli的书“Python数据分析”之后玩弄熊猫,我意识到熊猫是一个很棒的库.
所以,我一直在与Anaconda合作,使其在我的环境中工作.
1-下载Anaconda安装程序并安装它(我想miniconda就足够了)
2-通过镜像anaconda存储库的(部分)来创建本地通道
请勿尝试下载工作站上的各个软件包以将其推送到脱机服务器.实际上,依赖性将不会得到满足.
包需要包含在一个通道中,并在元数据文件(repodata.json和repodata.json.bz2)中编入索引,以便正确地“粘合”在一起.
我使用wget来镜像anaconda存储库的一部分:https://repo.continuum.io/pkgs/
我使用这样的东西来过滤包,以便不下载整个回购:
wget -r --no-parent -R --regex-type pcre --reject-regex '(.*py2[67].*)|(.*py[34].*)' https://repo.continuum.io/pkgs/free/linux-64/
请注意,不要使用“只有py35”包这样的东西.实际上,repo中的许多包都没有名字中的版本字符串;你会想念他们作为依赖.
好吧,我想你可以更准确地过滤.我拿了大约6GB的包!
!!!!不要从刚刚下载的存储库部分构建自定义通道! (蟒蛇定制频道)
我一开始尝试了这个,我遇到了这个异常:“RecursionError:调用Python对象时超出了最大递归深度”.
这是一个已知的pb:
https://github.com/conda/conda/issues/2371
==>维护者讨论这个:在repodata.json和repodata.json.bz2维护的元数据不反映个体pkg中的metadatas.他们选择仅编辑repo元数据来修复问题而不是每个包metadatas.
所以,如果你从包中重建通道元数据,你会错过.
==>所以:不要重建频道元数据,只需保留存储库元数据(官方anaconda存储库中包含的repodata.json和repodata.json.bz2).
即使整个回购不在您的新渠道中,它也会起作用(至少,如果您在镜像时没有过滤太多;-))
3-测试并使用您的新频道
conda search -c file://Path_to_your_channel/repo.continuum.io/pkgs/free/ --override-channels
注意:请勿在路径中包含平台体系结构.
例子:您的频道树可能是:/Path_to_your_channel/repo.continuum.io/pkgs/free/linux-64
只需省略你的拱门(在我的情况下是linux-64).康达会发现.
更新:
conda update -c file://resto/anaconda_repo/repo.continuum.io/pkgs/free/ --override-channels --all
等等…
我想,您可以使用系统用户的conda conf文件来强制使用此本地频道.
希望能帮助到你.
纪尧姆