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

想从 github 下个项目,折腾一大顿安装 docker,好不容易打开 juypter notebook

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

    然后我发现里边其实就是 py 代码

    无语了

    用 docker 发布是为了让用户不用自己下载包?

    就那么几个包有必要吗

    现在 pycharm 下包很方便了

    狗狗两下用 pip 也不费什么事吧

    第 1 条附言  ·  298 天前
    家人们,没想到这么快就被打脸了
    我以前用的都是用的人非常多的常用包比如 pandas 之类
    最近用了个比较小众的马上就冲突了^_^
    然后包出问题又不可能一个个排查
    只能新建个环境
    真的是^_^
    29 条回复    2024-01-05 04:54:40 +08:00
    Bingchunmoli
        1
    Bingchunmoli  
       311 天前 via Android
    py 装个包花式 err , 环境不一致,非开发用户就很折磨
    yjsp1919
        2
    yjsp1919  
    OP
       311 天前
    @Bingchunmoli 是因为包之间还互相依赖吗?
    也可能有的机器就不能随便装东西?比如人家的服务器不想装 python 开发环境?
    musi
        3
    musi  
       311 天前
    有没有可能,有些包底层用 c 调了系统级的 API ,有些包只支持 Linux ,即使是 linux 不同的发行版也可能不一样,这时候用 docker 就很方便了
    mwjz
        4
    mwjz  
       311 天前
    我不写 py 的为啥要装 py 环境?

    等你 docker 折腾好了,你就会太方便了。。。。。


    一次 docker = 所有环境


    发布项目不需要考虑环境,目录,一个 docker 全平台
    安装软件不需要考虑 vm 环境,一个 docker 全解决
    kneo
        5
    kneo  
       311 天前 via Android   ❤️ 5
    Python 的包管理是最💩的。多玩玩现在那些 ai 项目你就明白了。要我说 Python 的项目都应该用 docker 发布。
    Yourshell
        6
    Yourshell  
       311 天前
    docke 基本标配了需要折腾什么呢?
    jayeli
        7
    jayeli  
       311 天前
    运行 get.docker.com 就装好了
    hancai
        8
    hancai  
       311 天前
    我连 python 环境都没有, 你还让我下包。
    chhtdd
        9
    chhtdd  
       311 天前
    pycharm 的包很全?
    pip 几下很简单,冲突很少?
    twofox
        10
    twofox  
       311 天前
    有 docker 我就会用 docker ,因为我不想往我的环境里面塞我不认识的东西
    GoRoad
        11
    GoRoad  
       311 天前
    只能说 conda 的出现 多少解决了 ppy 的包冲突问题,但是也就是解决了一点,通过 docker 封装才真的方便
    fregie
        12
    fregie  
       311 天前
    docker 部署一行命令,几乎不会出问题
    部署 python 可就麻烦咯,版本,依赖慢慢搞吧
    0o0O0o0O0o
        13
    0o0O0o0O0o  
       311 天前
    然后 issues 可能会多五倍,要么是“我设置了代理我能 pull 镜像但为什么装不上这个依赖”,要么是因为 Python 版本高了低了引起的报错,然后还带上一些无效信息“我是用 PyCharm 安装的”

    自认为有能力处理可以直接看 Dockerfile
    allenby
        14
    allenby  
       311 天前 via Android
    @Bingchunmoli 是啊,有依赖的,下包都让人折磨
    qq565425677
        15
    qq565425677  
       311 天前
    @kneo #5 python 的包可以用 conda/mamba 管理,比 docker 还要好
    julyclyde
        16
    julyclyde  
       311 天前
    虽然我天天鼓吹别用 docker
    但是 python 那一堆零碎文件……
    kneo
        17
    kneo  
       311 天前 via Android
    @qq565425677 如果说 Python 的依赖管理是💩,conda 无非就是,邮寄过来的装在盒子里的💩……换个包装再尝一次,你会惊喜发现味道一样的。
    某人:“我是为了什么又吃了一遍?”
    Bingchunmoli
        18
    Bingchunmoli  
       311 天前 via Android
    @qq565425677 所以安装还是 pip -r 吗,百度。安装 python 依赖会是 什么
    nagisaushio
        19
    nagisaushio  
       311 天前
    @qq565425677 再好用也比不过 docker 别人帮你封好的,下下来直接就能跑
    anubu
        20
    anubu  
       311 天前
    如果就是想部署起来玩一玩的场景,不仅仅是 requirements.txt ,其它的 package.json 、pom.xml 就算好点也有限,在 Dockerfile 面前都要低头。容器部署对于爱折腾部署的人就是福音,再也看不到玩具 A 和玩具 B 打起来逼你选边站的场景了,成年人主打一个全都要。
    qq565425677
        21
    qq565425677  
       311 天前
    @kneo #17 不知道你说的💩是什么意思,我自己用 mamba 用的挺舒服的
    @Bingchunmoli 抱歉没看懂
    @nagisaushio 从易用性角度、无脑玩的角度来讲确实是这样,但是其实想好好用 docker 我自己一般还要对 docker run 或 compose 再加一些自己的配置(比如配置时区、代理、权限等),最后感觉各种成本和 mamba/conda 也差不多

    再解释一下,我所说的比 docker 好主要指的是环境管理上区别不大(当然 docker 确实更方便一些),但是 conda/mamba 不同的环境下是可以共用安装的库的,如果之前安装过 cuda11.8 ,那么在新的环境中安装 cuda11.8 是不会占用空间的,环境配置起来也很快。但是如果项目多了都用 docker ,那么所有可复用的库 docker image 都要包含一份。

    另外从个人开发的角度来讲,用 pycharm/vscode 远程到服务器进行 python 开发也要比起个 docker 容器,再映射 ssh 服务方便的多
    qq565425677
        22
    qq565425677  
       311 天前
    @qq565425677 #21 对不起,我又去确认了一下,conda 也是独立的🤡🤡🤡
    qq565425677
        23
    qq565425677  
       311 天前
    @qq565425677 #22 只是下载的文件是共用的,顶多是安装会快一些🤡🤡🤡
    rekulas
        24
    rekulas  
       310 天前
    狗狗两下用 pip 也不费什么事吧

    还是太年轻,没遇到过循环依赖冲突的吧

    啥时候安 docker 那点破事都敢碰瓷 pip 了
    z1829909
        25
    z1829909  
       310 天前
    python 的依赖可没那么好安装, 如果 pip install 一遍过算牛逼的.
    而且 python 有时候充当胶水的作用, 调用你操作系统的库, 并不是纯 pip 能解决的, 作者也是贴心地帮你打包好了, 没想到挨顿骂.
    z1829909
        26
    z1829909  
       310 天前
    @qq565425677 我理解 conda 是解决了 python 环境隔离的问题, 但是没解决包安装出问题解决的困难度. 和 docker 不是一个东西
    Alias4ck
        27
    Alias4ck  
       310 天前
    @qq565425677 那你可能不知道有个叫 devcontainer 的东西 一个配置文件解决开发环境问题
    NoOneNoBody
        28
    NoOneNoBody  
       310 天前
    下之前看看语言占比啊,如果 python 100%,不想折腾 docker 就自己弄呗

    我是不敢随便 pip install
    上次想在项目加个功能,pip 装了个三方包,然后……然后……最终整个环境重装了
    不知道这个三方包改了什么依赖的版本,估计是 numpy 降版导致一个连锁反应,从 pandas,numba,opencv 到 sklearn 等等一堆错误
    jqtmviyu
        29
    jqtmviyu  
       310 天前
    npm 也经常被喷, 但隔离还是有好处的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2711 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:40 · PVG 17:40 · LAX 01:40 · JFK 04:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.