从 Ubuntu 19.10 升级到 20.04 后缺少 Distutils 文件夹的问题

Posted

技术标签:

【中文标题】从 Ubuntu 19.10 升级到 20.04 后缺少 Distutils 文件夹的问题【英文标题】:Problem with missing Distutils folder after upgrading from Ubuntu 19.10 to 20.04 【发布时间】:2021-03-29 15:58:32 【问题描述】:

从 19.10 升级到 20.04 后,我遇到了 virtualenv 和 virtualenvwrapper 的问题。

我在 Ubuntu 19.10 上的开发环境中有一个功能齐全的 Django 应用程序,但自从更新到 20.04 后,我的 virtualenv 无法正常工作。

具体来说是这样的:

FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.7/distutils/__init__.py

我检查了路径,但 distutils 文件夹丢失了,但我不确定如何解决这个问题。

/usr/lib/python3.8 中有一个 disutils 文件夹,但是当我将它复制到我的 python3.7 文件夹时,我得到一个不同的错误。

【问题讨论】:

askubuntu.com/questions/1239829/… 感谢您尝试协助 iklinac。我尝试按照该帖子中列出的步骤进行操作,但仍然没有任何效果。 【参考方案1】:

解决此问题的最简单方法是重建您的 virtualenv:

$ VENV=~/.virtualenvs/myvirtualenv
$ rm -r $VENV
$ python3 -m venv $VENV
$ . $VENV/bin/activate
$ pip3 install -r requirements.txt

这将删除您的旧虚拟环境并根据requirements.txt 中指定的包创建一个新虚拟环境。

【讨论】:

以上是关于从 Ubuntu 19.10 升级到 20.04 后缺少 Distutils 文件夹的问题的主要内容,如果未能解决你的问题,请参考以下文章

升级到 Ubuntu 20.04 杀死 pip

Ubuntu 20.04 升级后 python3 啥都不返回

Ubuntu为Ubuntu 19.10和20.04 LTS提供精选的32位软件包

Ubuntu 20.04 都有哪些新特性?

Docker - Ubuntu 20.04 升级后没有路由到主机

无法重新启动 mysql.service:从 18.4 升级后,单元 mysql.service 在 Ubuntu 20.04 中被屏蔽