V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Haku
V2EX  ›  Python

各位有没有什么网站可以下载任意指定版本、平台、 Linux 版本、py 版本的 pip 包

  •  
  •   Haku · 150 天前 · 1416 次点击
    这是一个创建于 150 天前的主题,其中的信息可能已经有所发展或是发生改变。

    希望是那种一键懒汉式的。 比如上传一个 requirements.txt ,给出指定的 x86 、manylinux 版本,给出 python 版本 38 ,然后就可以自动下载所有需要的 whl 包或者是没有 whl 包的下载 source 文件。

    我经常在离线容器里碰到各种包依赖缺失的问题,导致在外下载各种包,浪费了很多时间。

    6 条回复    2024-07-31 10:42:54 +08:00
    ruanimal
        1
    ruanimal  
       150 天前
    pip download
    Haku
        2
    Haku  
    OP
       150 天前
    @ruanimal 我知道 pip 可以下载包,但是有问题,比如有些包没有指定的平台版本或者只有 source 文件,下载时很容易出错(有些包有哪些版本事先也不一定知道),我现在在尝试用代码来搞这个,想问下有没有已经完成这项工作了的。
    Haku
        3
    Haku  
    OP
       150 天前
    因为工作原因我这边发的电脑和平台的系统架构不一致,无法搞出容器的环境,所以我没法去找个电脑来下载容器所需的包。
    0o0O0o0O0o
        4
    0o0O0o0O0o  
       150 天前   ❤️ 1
    既然允许下载文件到离线容器里安装,那应该也可以直接在外面构建安装好依赖的镜像然后离线使用这个镜像吧?跨平台构建见 https://docs.docker.com/build/building/multi-platform/

    此外,你的思路用 poetry 应该就可以:

    poetry init
    poetry add $(cat requirements.txt)

    生成的 poetry.lock 就是跨平台的,解析一下就能拿到所有依赖以及对应版本、平台的 wheel 或者 source

    https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/#platform-compatibility-tags

    个人建议还是跨平台构建吧,至少构建一遍再复制出来
    Haku
        5
    Haku  
    OP
       150 天前
    @0o0O0o0O0o 我看看,感谢
    Maerd
        6
    Maerd  
       145 天前
    不要用 pip,用 poetry 来管理依赖自然就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1064 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:21 · PVG 03:21 · LAX 11:21 · JFK 14:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.