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 · 15 天前 · 1856 次点击

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

    17 条回复    2024-10-26 19:23:49 +08:00
    spritecn
        1
    spritecn  
       15 天前
    动手写一个? 逻辑你都理清了
    JKOR
        2
    JKOR  
       15 天前
    项目 A 需要 numpy2.1 ,项目 B 需要 numpy2.2 ,如何同时安装两个版本?不还得放在各个目录下吗
    lxy42
        3
    lxy42  
       15 天前 via Android
    uv
    liangdi
        4
    liangdi  
       15 天前
    那就是和 pnpm 的逻辑差不多了,py 用的不多,要用的时候一般 miniconda , 可以参考 pnpm 写一个
    encro
        5
    encro  
       15 天前
    现在就用 rye 。。。
    快!!!
    智能!!!
    Leon6868
        6
    Leon6868  
    OP
       15 天前
    @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
        8
    huangyezhufeng  
       15 天前
    @huangyezhufeng 当你体验 1 秒装 torch 的快感之后,就离不开了
    ClericPy
        9
    ClericPy  
       15 天前
    venv 是不是本来就有参数支持软链接以及继承 base python 的 site packages

    现在偶尔用自己写的 zipapps 库打包起来用,你逻辑理清了真可以自己写一个
    FarmerChillax
        11
    FarmerChillax  
       15 天前
    我投 PDM 一票
    wangee
        12
    wangee  
       14 天前 via iPhone
    同楼上,uv

    如果有管理需求可以用 rye ,稍微比 uv 全一点,底层包管理也是 uv
    Lychee0
        13
    Lychee0  
       14 天前
    投楼上 pdm 一票

    不过关于 torch 的话个人更喜欢 poetry 开 local env ,或者干脆不 lock
    headwindx
        14
    headwindx  
       14 天前 via iPhone
    容器挂载本地目录,用完自动删除。
    zhengfan2016
        15
    zhengfan2016  
       13 天前
    @frostming uv 和 pdm 比各有什么优劣吗。

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