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

css3 19天前 14

我 mac 上登录的用户,以前 python3 的版本一直是 3.7.3, 执行 sudo -i 切换到 root 权限时,python3 的版本是 3.8.3,可是今天发现,我的登录的用户,python3 的版本变成了 3.8.3,之前创建的 virtuenv 进去之后,所有包都提示不存在了,连 pip 也是 comand not found 了,但 bin 目录下看,可执行文件都在的,不知道是哪里搞坏环境变量了吗?看文件的所有者均属于我登录的用户,感觉没有问题啊,可再完全没有解决办法的思路了,请教一下各位,有遇到过这种问题吗,怎么解决啊
最新回复 (21)
  • iConnect 16天前
    引用 2
    印象里 virtualenv2.0 之后的升级 py 版本机制,才和内置的 venv 一致,楼主去查看下版本问题。具体版本细节记得不是很清楚,看到文档里提过这么一说
  • a719114136 16天前
    引用 3
    是不是你 mac 系统升级了,大版本升级的话可能导致原来的 python 环境不能用
  • littlewing 16天前
    引用 4
    建议使用 homebrew 自己安装 py 环境,不用系统自带的
  • TimePPT 16天前
    引用 5
    pyenv 解千愁
  • 楼主 css3 16天前
    引用 6
    @iConnect 老哥,不太明白是啥情况啊,我 venv 是基于 3.7.3 版本的,现在默认的变成了 3.8.3 了

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

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

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

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

    @cocoabeans 好的,老哥
  • breaker911 16天前
    引用 14
    @css3 看了眼 好像默认的真给升到 3.85 了...只不过我用 brew 装的 3.7 和 3.8 都还在 所以默认还是 3.7
  • a719114136 16天前
    引用 15
    Python 是需要编译安装的,virtualenv 只是把编译好的 Python 复制一份。
    老系统编译的 Python 不能在新系统用很正常。所以 mac 一般不要升级,否则很多东西都得重新安装。
  • 楼主 css3 16天前
    引用 16
    @a719114136 这会长记性了,也给我坑哭了
  • linvaux 16天前
    引用 17
    还是 conda 爽啊
  • IgniteWhite 16天前
    引用 18
    homebrew 加 pyenv 正解。另外 arm 版出来后,pyenv 里的 conda 不一定能用,可以试试 miniforge
  • HiddenNPC 16天前
    引用 19
    建议使用 PYENV 。升级没出过问题
  • renmu123 16天前
    引用 20
    这时候顺势把环境转成 pyenv + poetry,香就完事了
  • willww64 16天前
    引用 21
    @css3 python3.3 之后自带 venv 模块,完全不用另外安装 virtualenv 。。。
  • 楼主 css3 16天前
    引用 22
    @willww64 好的,我了解一下
  • 游客
    23
返回