V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sharoue
V2EX  ›  程序员

纯内网环境架设 Python 源的方案求助

  •  
  •   sharoue · 2019-02-18 21:03:14 +08:00 · 3809 次点击
    这是一个创建于 2105 天前的主题,其中的信息可能已经有所发展或是发生改变。
    单位的工作网络是专网,范围很大,有一群喜欢折腾 python 的菜逼。
    想要在内网做一个 python 源,提供常见的库下载。就是把外网源选择性的下下来,放在内网做源。
    目前尝试使用 bandersnatch,列表放上最近 1 年下载量前 5000 的包+最近一月下载量前 5000 的包,总共 5400 多个,再屏蔽掉 pypi 列出的 100 个占空间最大的包。抓下来这些包做成源,目测总大小 200G 左右都是可以接受的。
    但是有好多问题,bandersnatch 不够好。
    一是基本上只能从 pypi 官方源下载,速度太慢,经常断线,csdn 上那个改 master.py 的方法已经不好用了。
    二是经常显示文件占用,mirror 好几次,也不知道到底扒下来的完整不完整。

    不知道有没有已经在内网架设源,有更好的方案?比如可以从国内源拉镜像的工具,或者有人整理的近期的集合包可以直接拿来用的?
    12 条回复    2019-02-19 09:17:27 +08:00
    Septembers
        1
    Septembers  
       2019-02-18 21:08:06 +08:00
    用 Squid 做个代理和缓存说不定更好
    sharoue
        2
    sharoue  
    OP
       2019-02-18 21:20:16 +08:00
    @Septembers 有看到一个类似的方案是 devpi。随便瞅了一眼,好像是用 devpi 可以架设一个代理,其他机器用 devpi 取代 pypi 去安装包,安装的包会自动缓存起来,时间长了就可以当作一个可靠的源了。问题是最初还是得是外网,而且还要有比较高手的团队养好一段时间才具有实用性。。。
    lyinfu
        3
    lyinfu  
       2019-02-18 21:21:39 +08:00   ❤️ 1
    singerll
        4
    singerll  
       2019-02-18 21:32:22 +08:00 via Android
    rsync 直接同步清华或者中科大的 pypi 源
    azh7138m
        5
    azh7138m  
       2019-02-18 21:37:07 +08:00
    同楼上,之前同步过几个源,直接 rsync 就行了
    sharoue
        6
    sharoue  
    OP
       2019-02-18 21:49:04 +08:00
    @singerll @azh7138m rsync 没用过,但是感觉不错。。。有筛选目录或者包的简便方法嘛?如果可以的话我可以连 debian 源都一起扒下来,毕竟我在内网还维护了一个 debian 源,现在觉得再用 apt-mirror 也不太方便。
    Septembers
        7
    Septembers  
       2019-02-18 22:37:11 +08:00
    @sharoue 这个问题你可能需要跟 sysadmin 讨论下威胁模型及如何处理。
    彻底隔离的话实际上没太大必要,认真处理威胁模型及风险可能能够更好的处理问题。
    azh7138m
        8
    azh7138m  
       2019-02-19 01:51:06 +08:00
    zhengnanlee
        9
    zhengnanlee  
       2019-02-19 05:08:43 +08:00 via iPhone
    求邀请码呀各位大佬
    zhengnanlee
        10
    zhengnanlee  
       2019-02-19 05:09:26 +08:00
    @zhengnanlee sry wrong topic...
    rexyan
        11
    rexyan  
       2019-02-19 08:54:42 +08:00 via iPhone
    当时用 pypiserver 做了一个,专门用来放公司内部私有的包,当然公司的人的 pip 源也全改为这个地址,当内部 pypiserver 没有的时候就去豆瓣或者阿里拉下来
    zanzhz1101
        12
    zanzhz1101  
       2019-02-19 09:17:27 +08:00   ❤️ 1
    最简单的方法是。。。开个 nginx 反代,开启缓存
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2780 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:45 · PVG 17:45 · LAX 01:45 · JFK 04:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.