升级到 Ubuntu 20.04 后 python 3.7 venv 损坏

问题描述 投票:0回答:3

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

python-3.x operating-system upgrade python-venv linux-distro
3个回答
3
投票

我也有同样的问题。如果您不想升级所有内容(也许并非所有软件包都可升级),这是我的解决方案。

  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 中设置回 python3 的软链接链接回 3.7

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

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

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


1
投票

就我而言,只需删除并重新创建虚拟环境,然后重新安装 Django,就可以解决这个问题。之后,只需重新加载 Apache,一切就又恢复正常了。


0
投票

当我遇到这种情况时,我没有删除 venv,而是将其移动到 venv.broken,然后安装了新的 venv。 (对我来说)这样做的优点是在安装需求时。我随后发现我的requirements.txt缺少一些重要的包。通过检查 venv.broken 中的 site_packages 目录,可以找出缺少的内容。

© www.soinside.com 2019 - 2024. All rights reserved.