如何无痛升级编程语言? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Yeoman
V2EX    问与答

如何无痛升级编程语言?

  •  
  •   Yeoman 2017-02-10 10:40:56 +08:00 3691 次点击
    这是一个创建于 3164 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Archlinux (虚拟机)用户
    python 升级到 3.6 然后 3.5 的包就不能直接用了,都在 /usr/lib/python3.5 里
    ruby 升级到 2.4 然后 2.3 的包也不能直接用了,都在~/.gems/ruby/2.3.0 里

    有什么自动迁移这些包的工具么?
    18 条回复    2017-02-10 19:44:40 +08:00
    xss
        1
    xss  
       2017-02-10 10:48:39 +08:00
    只能说你平时没注意你选择装的东西的依赖, 导致升级后出问题了.

    语言特性导致的问题, 只能等响应的东西更新, 或者你自己解决.

    前段时间我的桌面环境升级, 导致配置文件不兼容....改了一个星期才改好...
    dexterzzz
        2
    dexterzzz  
       2017-02-10 10:48:44 +08:00
    python 用 anaconda
    msg7086
        3
    msg7086  
       2017-02-10 12:36:15 +08:00
    Python 的不知道。 Ruby 的话,`bundle` 走起。
    asdfghji
        4
    asdfghji  
       2017-02-10 12:40:47 +08:00
    感觉 lz 的意思是依赖安装路径不对,不是版本不支持依赖啊,这样的话可以用沙盒模式解决吧
    Yeoman
        5
    Yeoman  
    OP
       2017-02-10 13:48:50 +08:00 via Android
    因为过年在家没网所以才好气,所有安装过的包其实还在,但是因为 python/ruby 升级了不去寻找老版本的包了所以出现了没有依赖的情况,所以想知道有什么方法把原来老版本的包整体迁移到新版本中去用。(直接吧 python3.5 的 site-package 复制到 3.6 里去也可以用)
    loading
        6
    loading  
       2017-02-10 13:55:11 +08:00 via Android
    楼主没用 virtualenv ,直接动系统自带 python?
    msg7086
        7
    msg7086  
       2017-02-10 14:33:10 +08:00
    很多 C 扩展的包依赖同版本的头文件,换版本直接迁移可能会出问题。
    xialdj
        8
    xialdj  
       2017-02-10 15:34:59 +08:00 via iPhone
    nvm 同有这个问题 来蹭答案
    sogood
        9
    sogood  
       2017-02-10 15:53:15 +08:00 via iPhone
    @xialdj nvm copy-package
    wellsc
        10
    wellsc  
       2017-02-10 15:54:59 +08:00
    @loading 显然应该使用 pyenv
    linhua
        11
    linhua  
       2017-02-10 17:03:09 +08:00
    这个是 包管理器不统一 的问题。 Archlinux 系统有个包管理器 pacman ,而 python 也有个包管理器 pip 。
    用 pip 安装的 python 包不能用 pacman 来管理

    你试试升级 pip 到 python 3.6 对应的版本试试
    herozhang
        12
    herozhang  
       2017-02-10 17:09:08 +08:00
    系统自带的 python 不要去用,都 virtualenv 新建环境来用吧
    要不是够折腾的, 3.x 和 2.x 的,各种依赖版本不一致的。。。
    sammo
        13
    sammo  
       2017-02-10 18:28:09 +08:00 via iPhone
    我一般不用全局的 packages ,而是每个项目建立自己的虚拟环境、搭一套完全这个项目自己的 packages 。不依赖全局的东西、全局就不会出问题 ..
    guyskk
        14
    guyskk  
       2017-02-10 18:29:01 +08:00 via Android
    重新安装一下吧
    python3.5 -m pip freeze | pip install
    loading
        15
    loading  
       2017-02-10 18:35:17 +08:00 via Android
    @wellsc 哦,对。另:我没收到消息,你可能被降权了。
    mooncakejs
        16
    mooncakejs  
       2017-02-10 18:47:25 +08:00
    python 没得洗。。
    xialdj
        17
    xialdj  
       2017-02-10 19:43:44 +08:00 via iPhone
    @sogood 好用
    mercurylanded
        18
    mercurylanded  
       2017-02-10 19:44:40 +08:00
    用 java
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 13:43 PVG 21:43 LAX 06:43 JFK 09:43
    Do have faith in what you're doing.
    ubao 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