Yeoman
V2EX  ›  问与答

如何无痛升级编程语言?

  •  
  •   Yeoman · Feb 10, 2017 · 4445 views
    This topic created in 3560 days ago, the information mentioned may be changed or developed.
    Archlinux (虚拟机)用户
    python 升级到 3.6 然后 3.5 的包就不能直接用了,都在 /usr/lib/python3.5 里
    ruby 升级到 2.4 然后 2.3 的包也不能直接用了,都在~/.gems/ruby/2.3.0 里

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

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

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

    你试试升级 pip 到 python 3.6 对应的版本试试
    herozhang
    herozhang
    Feb 10, 2017
    12
    系统自带的 python 不要去用,都 virtualenv 新建环境来用吧
    要不是够折腾的, 3.x 和 2.x 的,各种依赖版本不一致的。。。
    sammo
    sammo
    Feb 10, 2017 via iPhone
    13
    我一般不用全局的 packages ,而是每个项目建立自己的虚拟环境、搭一套完全这个项目自己的 packages 。不依赖全局的东西、全局就不会出问题 ..
    guyskk
    guyskk
    Feb 10, 2017 via Android
    14
    重新安装一下吧
    python3.5 -m pip freeze | pip install
    loading
    loading
    Feb 10, 2017 via Android
    15
    @wellsc 哦,对。另:我没收到消息,你可能被降权了。
    mooncakejs
    mooncakejs
    Feb 10, 2017
    16
    python 没得洗。。
    xialdj
    xialdj
    Feb 10, 2017 via iPhone
    17
    @sogood 好用
    mercurylanded
    mercurylanded
    Feb 10, 2017
    18
    用 java
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3153 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 00:51 · PVG 08:51 · LAX 16:51 · JFK 19:51
    ♥ Do have faith in what you're doing.