V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
thinkershare
V2EX  ›  问与答

安装 Python 包的正确姿势是什么?

  •  
  •   thinkershare · 2023-04-25 01:13:59 +08:00 · 1360 次点击
    这是一个创建于 373 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我正在测试一些机器学习的代码,这个仓库依赖了多个 pip 包,当前使用 conda 管理环境,但我使用 conda 安装环境后发现一堆错误,解决了 A 错误后又出现 B 错误,然后无穷无尽,为了将代码跑起来,配环境这一步就换了几十个小时还是没搞定? 是什么因素导致 python 的包管理如此复杂和杂乱的呢?

    16 条回复    2023-04-25 10:31:59 +08:00
    DogLucky
        1
    DogLucky  
       2023-04-25 01:17:40 +08:00
    python 的包应该还是比较好管理的吧
    thinkershare
        2
    thinkershare  
    OP
       2023-04-25 01:25:09 +08:00
    @DogLucky 曾经,当我没有运行机器学习的代码的时候也是这么天真的认为的。
    hsfzxjy
        3
    hsfzxjy  
       2023-04-25 01:27:03 +08:00 via Android   ❤️ 1
    ml 装包老麻烦了,不妨说说是什么包,让我看看
    thinkershare
        4
    thinkershare  
    OP
       2023-04-25 01:29:06 +08:00
    @hsfzxjy 我需要使用的多个包相互冲突,因此 python 的版本必须被固定为 3.7,然后需要使用 pytorch 的一系列包和 mayavi ,Windows/macOS/Linux 都需要支持,然后就出了各种诡异错误。
    thinkershare
        5
    thinkershare  
    OP
       2023-04-25 01:30:13 +08:00
    @hsfzxjy 最离谱的是 conda 竟然会给我安装一堆错误的依赖,然后要我手动卸载掉,重写用 pip 安装正确的版本,搞得我心态有点爆炸。
    thinkershare
        6
    thinkershare  
    OP
       2023-04-25 01:56:02 +08:00
    @hsfzxjy 在我坚持奋斗了很多个小时后,就在刚刚,终于全部搞定了。真的有点无语,感觉这个包管理器就是一坨狗屎。
    V2Micheal
        7
    V2Micheal  
       2023-04-25 03:12:44 +08:00 via Android
    同感,之前搞深度学习也是环境配了好久好久,版本一直对不上
    hsfzxjy
        8
    hsfzxjy  
       2023-04-25 03:17:45 +08:00 via Android
    ml 的包有很多二进制文件,存在特定的平台 /硬件 /时间版本依赖。我是能用 docker 就用 docker
    halberd
        9
    halberd  
       2023-04-25 03:42:44 +08:00 via Android   ❤️ 1
    只用 conda 当作虚拟环境管理器,放弃了包管理功能。
    包装多了之后 conda 分析依赖慢到死,绝大部分包优先维护 pip ,conda 和 pip 混用偶尔会出事,所以我现在只用 pip 装包。
    halberd
        10
    halberd  
       2023-04-25 03:49:52 +08:00 via Android
    而且 conda 的 base 环境尽量少装东西,否则等更新 conda 版本的时候就会后悔了...
    fox0001
        11
    fox0001  
       2023-04-25 09:16:03 +08:00 via Android
    我建议上 docker
    thinkershare
        12
    thinkershare  
    OP
       2023-04-25 09:45:38 +08:00
    @halberd conda 安装包,真的是慢的离谱,慢就算了,它还会安装错误,同样的固定版本的包,在 win/mac/linux 竟然只有一个平台可用跑。
    coolair
        13
    coolair  
       2023-04-25 09:46:33 +08:00
    我一直觉得 conda 是真难用……
    thinkershare
        14
    thinkershare  
    OP
       2023-04-25 09:46:37 +08:00
    @fox0001 我这个玩意有 UI , 没法用 docker. 而且 CUDA 使用 docker 问题太多,我之前尝试过。后来放弃了,不是你想用就能用的,一堆第三方 C++的 CUDA 依赖项目。
    sadfQED2
        15
    sadfQED2  
       2023-04-25 10:13:24 +08:00 via Android
    最近几年机器学习的包已经好装很多了。大概 15 年左右,当时我为了安装一个 caffe 环境,花了半个多月的时候捣鼓各种编译问题。当时大部分 ml 库都只能手动编译,根本没有预编译好的。

    现在的问题大部分都是版本不匹配,网上一搜就知道咋回事了。
    thinkershare
        16
    thinkershare  
    OP
       2023-04-25 10:31:59 +08:00
    @sadfQED2 你说的这种项目估计是很通用的,很多人使用。我跑的项目是 Research 型的,没几个人用,如果搜索引擎能解决,我就不会上来提问了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2398 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:36 · PVG 21:36 · LAX 06:36 · JFK 09:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.