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
Leon6868
V2EX  ›  Python

有没有更加节省空间的 Python 环境管理器

  •  
  •   Leon6868 · 2024-10-21 17:51:23 +08:00 · 3092 次点击
    这是一个创建于 370 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如将所有包统一管理并设置只读,然后在虚拟环境中安装包是先查找机器上是否有对应的包文件,有的话就软链接,没有就先下载再软链接,这样既能节省空间又能加快安装速度,而且也不会影响 pip 的依赖导出功能。

    17 条回复    2024-10-26 19:23:49 +08:00
    spritecn
        1
    spritecn  
       2024-10-21 18:02:49 +08:00
    动手写一个? 逻辑你都理清了
    JKOR
        2
    JKOR  
       2024-10-21 18:08:03 +08:00
    项目 A 需要 numpy2.1 ,项目 B 需要 numpy2.2 ,如何同时安装两个版本?不还得放在各个目录下吗
    lxy42
        3
    lxy42  
       2024-10-21 18:09:00 +08:00 via Android
    uv
    liangdi
        4
    liangdi  
       2024-10-21 18:11:15 +08:00
    那就是和 pnpm 的逻辑差不多了,py 用的不多,要用的时候一般 miniconda , 可以参考 pnpm 写一个
    encro
        5
    encro  
       2024-10-21 18:12:07 +08:00
    现在就用 rye 。。。
    快!!!
    智能!!!
    Leon6868
        6
    Leon6868  
    OP
       2024-10-21 18:22:24 +08:00
    @JKOR #2 设想:
    A 需要 pytorch 2.4 cuda + numpy 2.1
    B 需要 pytorch 2.4 cuda + numpy 2.2
    C 需要 pytorch 1.9 cuda + numpy 2.1 + fastapi
    当一个包 2GB 还各种不兼容时就能想象复用的好处了(
    huangyezhufeng
        7
    huangyezhufeng  
       2024-10-21 18:28:28 +08:00
    huangyezhufeng
        8
    huangyezhufeng  
       2024-10-21 18:29:44 +08:00
    @huangyezhufeng 当你体验 1 秒装 torch 的快感之后,就离不开了
    ClericPy
        9
    ClericPy  
       2024-10-21 18:59:46 +08:00
    venv 是不是本来就有参数支持软链接以及继承 base python 的 site packages

    现在偶尔用自己写的 zipapps 库打包起来用,你逻辑理清了真可以自己写一个
    FarmerChillax
        11
    FarmerChillax  
       2024-10-21 19:51:02 +08:00
    我投 PDM 一票
    wangee
        12
    wangee  
       2024-10-21 22:08:45 +08:00 via iPhone
    同楼上,uv

    如果有管理需求可以用 rye ,稍微比 uv 全一点,底层包管理也是 uv
    Lychee0
        13
    Lychee0  
       2024-10-22 03:07:20 +08:00
    投楼上 pdm 一票

    不过关于 torch 的话个人更喜欢 poetry 开 local env ,或者干脆不 lock
    headwindx
        14
    headwindx  
       2024-10-22 05:40:17 +08:00 via iPhone
    容器挂载本地目录,用完自动删除。
    zhengfan2016
        15
    zhengfan2016  
       2024-10-23 11:06:23 +08:00
    @frostming uv 和 pdm 比各有什么优劣吗。

    没想到现在 python 的各种包管理器还挺多,我上上个项目还用的是 poetry
    vincentqiao
        16
    vincentqiao  
       2024-10-26 14:33:57 +08:00
    uv 、pdm 、rye 都可以满足这个场景,感觉功能现在也大同小异,pdm 应该是功能最多的一个,随便选一个喜欢的就可以了
    不过,rye 应该快要慢慢融入 uv 了,长期使用的话还是推荐 pdm 或者 uv
    Eureka0
        17
    Eureka0  
       2024-10-26 19:23:49 +08:00 via iPhone
    uv 可以实现这个需求,—link-mode symlink 就可以了,我现在就是这么用的
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   830 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:41 · PVG 05:41 · LAX 14:41 · JFK 17:41
    ♥ Do have faith in what you're doing.