想从 github 下个项目,折腾一大顿安装 docker,好不容易打开 juypter notebook - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yjsp1919
V2EX    程序员

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

  •  
  •   yjsp1919 2024-01-04 08:58:01 +08:00 3856 次点击
    这是一个创建于 651 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    无语了

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

    就那么几个包有必要吗

    现在 pycharm 下包很方便了

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

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

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


    一次 docker = 所有环境


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

    自认为有能力处理可以直接看 Dockerfile
    allenby
        14
    allenby  
       2024-01-04 12:33:56 +08:00 via Android
    @Bingchunmoli 是啊,有依赖的,下包都让人折磨
    qq565425677
        15
    qq565425677  
       2024-01-04 13:23:57 +08:00
    @kneo #5 python 的包可以用 conda/mamba 管理,比 docker 还要好
    julyclyde
        16
    julyclyde  
       2024-01-04 13:40:26 +08:00
    虽然我天天鼓吹别用 docker
    但是 python 那一堆零碎文件……
    kneo
        17
    kneo  
       2024-01-04 14:44:44 +08:00 via Android
    @qq565425677 如果说 Python 的依赖管理是,conda 无非就是,邮寄过来的装在盒子里的……换个包装再尝一次,你会惊喜发现味道一样的。
    某人:“我是为了什么又吃了一遍?”
    Bingchunmoli
        18
    Bingchunmoli  
       2024-01-04 16:22:25 +08:00 via Android
    @qq565425677 所以安装还是 pip -r 吗,百度。安装 python 依赖会是 什么
    nagisaushio
        19
    nagisaushio  
       2024-01-04 16:26:51 +08:00
    @qq565425677 再好用也比不过 docker 别人帮你封好的,下下来直接就能跑
    anubu
        20
    anubu  
       2024-01-04 16:44:46 +08:00
    如果就是想部署起来玩一玩的场景,不仅仅是 requirements.txt ,其它的 package.json 、pom.xml 就算好点也有限,在 Dockerfile 面前都要低头。容器部署对于爱折腾部署的人就是福音,再也看不到玩具 A 和玩具 B 打起来逼你选边站的场景了,成年人主打一个全都要。
    qq565425677
        21
    qq565425677  
       2024-01-04 16:57:47 +08:00
    @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  
       2024-01-04 17:02:29 +08:00
    @qq565425677 #21 对不起,我又去确认了一下,conda 也是独立的
    qq565425677
        23
    qq565425677  
       2024-01-04 17:03:09 +08:00
    @qq565425677 #22 只是下载的文件是共用的,顶多是安装会快一些
    rekulas
        24
    rekulas  
       2024-01-04 17:51:24 +08:00
    狗狗两下用 pip 也不费什么事吧

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

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

    我是不敢随便 pip install
    上次想在项目加个功能,pip 装了个三方包,然后……然后……最终整个环境重装了
    不知道这个三方包改了什么依赖的版本,估计是 numpy 降版导致一个连锁反应,从 pandas,numba,opencv 到 sklearn 等等一堆错误
    jqtmviyu
        29
    jqtmviyu  
       2024-01-05 04:54:40 +08:00
    npm 也经常被喷, 但隔离还是有好处的.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5577 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 06:31 PVG 14:31 LAX 23:31 JFK 02:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86