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

mac 上的 python3 版本突然自动升级了,以前创建的 virtuenv 也无法使用了,是怎么回事

  •  
  •   css3 · 2020-09-09 10:06:09 +08:00 · 2593 次点击
    这是一个创建于 1317 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我 mac 上登录的用户,以前 python3 的版本一直是 3.7.3, 执行 sudo -i 切换到 root 权限时,python3 的版本是 3.8.3,可是今天发现,我的登录的用户,python3 的版本变成了 3.8.3,之前创建的 virtuenv 进去之后,所有包都提示不存在了,连 pip 也是 comand not found 了,但 bin 目录下看,可执行文件都在的,不知道是哪里搞坏环境变量了吗?看文件的所有者均属于我登录的用户,感觉没有问题啊,可再完全没有解决办法的思路了,请教一下各位,有遇到过这种问题吗,怎么解决啊
    第 1 条附言  ·  2020-09-09 13:04:39 +08:00
    刚刚安装了 pyenv, 并且安装了原版本 3.7.3 的 python, 然后尝试恢复以前环境的 virtualenv, 发现也是徒劳的,venv/bin/目录下的所有可执行文件都提示 command not found ,感觉只能重新创建了
    第 2 条附言  ·  2020-09-09 13:06:04 +08:00
    当然 ,是 active venv 后执行的
    21 条回复    2020-09-09 19:46:11 +08:00
    iConnect
        1
    iConnect  
       2020-09-09 10:24:05 +08:00 via Android
    印象里 virtualenv2.0 之后的升级 py 版本机制,才和内置的 venv 一致,楼主去查看下版本问题。具体版本细节记得不是很清楚,看到文档里提过这么一说
    a719114136
        2
    a719114136  
       2020-09-09 10:26:48 +08:00
    是不是你 mac 系统升级了,大版本升级的话可能导致原来的 python 环境不能用
    littlewing
        3
    littlewing  
       2020-09-09 10:40:13 +08:00
    建议使用 homebrew 自己安装 py 环境,不用系统自带的
    TimePPT
        4
    TimePPT  
       2020-09-09 10:41:02 +08:00 via Android
    pyenv 解千愁
    css3
        5
    css3  
    OP
       2020-09-09 11:01:21 +08:00
    @iConnect 老哥,不太明白是啥情况啊,我 venv 是基于 3.7.3 版本的,现在默认的变成了 3.8.3 了

    @a719114136 我去,感觉还真是这个原因导致了 python3 升级

    @littlewing 好像还真的自己管理
    @TimePPT 回头我试试,多谢
    Dvel
        6
    Dvel  
       2020-09-09 11:06:07 +08:00
    系统现在自带 python2 和 python3,而且可能随着升级系统而改变版本。
    如果你只用一个固定版本,用 homebrew 自己装一个。
    如果你使用多个版本,用 pyenv 可以管理多个版本。
    css3
        7
    css3  
    OP
       2020-09-09 11:10:20 +08:00
    @iConnect @a719114136 @littlewing @TimePPT @Dvel 以前用的 windows10, 从来没有遇到过自动升级 python 版本的问题,最近切到 mac 上,首次发现,有点惊讶😂
    lln133208
        8
    lln133208  
       2020-09-09 11:32:23 +08:00
    开发环境的 Python 最好使用 pyenv 来管理,不要依赖系统自带的。
    willww64
        9
    willww64  
       2020-09-09 11:37:57 +08:00
    virtualenv 是用 virtualenv 命令还是 python3 -m venv 建的?如果是后者的话,python3 -m venv --upgrade venv 试一下看。
    breaker911
        10
    breaker911  
       2020-09-09 12:48:11 +08:00
    我觉得系统的问题小一些吧 苹果升 macos 的各种 runtime 版本上貌似没那么积极
    brew 装个 3.8 还得 [email protected] 我觉得苹果这次没那么激进吧
    是不是装了什么依赖 python 的软件 或者库 或者 pycharm/VSC 插件之类的自动把 3.7 升到 3.8 了
    cocoabeans
        11
    cocoabeans  
       2020-09-09 12:52:25 +08:00
    pyenv + poetry
    css3
        12
    css3  
    OP
       2020-09-09 12:58:46 +08:00
    @lln133208 这回就长记性了

    @willww64 virtualenv 是用 pip 安装的,所以你说的这两种,都是一个性质的吧?

    @breaker911 这几天没有升级过其他的,就 macOS 自动升级了

    @cocoabeans 好的,老哥
    breaker911
        13
    breaker911  
       2020-09-09 13:20:31 +08:00
    @css3 看了眼 好像默认的真给升到 3.85 了...只不过我用 brew 装的 3.7 和 3.8 都还在 所以默认还是 3.7
    a719114136
        14
    a719114136  
       2020-09-09 13:27:13 +08:00 via Android
    Python 是需要编译安装的,virtualenv 只是把编译好的 Python 复制一份。
    老系统编译的 Python 不能在新系统用很正常。所以 mac 一般不要升级,否则很多东西都得重新安装。
    css3
        15
    css3  
    OP
       2020-09-09 14:01:39 +08:00 via iPhone
    @a719114136 这会长记性了,也给我坑哭了😂😂
    linvaux
        16
    linvaux  
       2020-09-09 14:20:26 +08:00 via iPhone
    还是 conda 爽啊
    IgniteWhite
        17
    IgniteWhite  
       2020-09-09 15:47:44 +08:00 via iPhone
    homebrew 加 pyenv 正解。另外 arm 版出来后,pyenv 里的 conda 不一定能用,可以试试 miniforge
    HiddenNPC
        18
    HiddenNPC  
       2020-09-09 15:58:27 +08:00
    建议使用 PYENV 。升级没出过问题
    renmu123
        19
    renmu123  
       2020-09-09 17:14:47 +08:00 via Android
    这时候顺势把环境转成 pyenv + poetry,香就完事了
    willww64
        20
    willww64  
       2020-09-09 18:32:51 +08:00
    @css3 python3.3 之后自带 venv 模块,完全不用另外安装 virtualenv 。。。
    css3
        21
    css3  
    OP
       2020-09-09 19:46:11 +08:00
    @willww64 好的,我了解一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1089 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:57 · PVG 02:57 · LAX 11:57 · JFK 14:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.