python 升级到 Ubuntu 20.04 后 3.7 venv 损坏

python 3.7 venv broken after upgrade to Ubuntu 20.04

我刚刚升级到 Ubuntu 20.04。我在虚拟环境中使用 Django 处理一个 python 3.7 项目,所以我有信心即使升级了发行版(涉及安装 python 3.8)我的 venv 仍然可以工作。不幸的是,情况并非如此:当我激活我的 venv 时,python 的解释器仍然是 3.8 版本,并且没有任何作用。 python 3.7 完全缺失。我该怎么做才能恢复我的项目?

我也有同样的问题。如果你不想升级所有东西(也许不是所有的包都可以升级),这是我的解决方案。

  1. 安装 python 3.7,升级到 ubuntu 20

    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt-get update
    sudo apt-get install python3.7
    
  2. 在您的 virtualenv 目录(例如 env/)中编辑 pyenv.cfg

    中的最后一行
    version = 3.7
    
  3. 在 env/bin linking 中将 python3 的软 link 设置回 3.7

    ln -s  /usr/bin/python3.7 python3
    

您可能需要在创建新符号之前删除旧符号

现在,应该有用了:对我有用!

在我的例子中,当然是通过删除并重新创建虚拟环境并重新安装 Django 解决了这个问题。之后,只需重新加载 Apache,一切又恢复正常了。