我是一名 Ubuntu 新手,想请大家帮忙。
目前我面临两个问题。
第一个问题是当我尝试时mkvirtualenv --python=/usr/bin/python3.8 ENV
,它抛出了这个错误。
Error: RuntimeError: failed to query /usr/bin/python3.8 with code 1 err:
'Traceback (most recent call last):\n File
"/home/yao1122/.local/lib/python2.7/site-
packages/virtualenv/discovery/py_info.py", line 16, in <module>\n from
distutils.command.install import SCHEME_KEYS\nModuleNotFoundError: No module
named \'distutils.command\'\n'
在网上搜索后,我决定尝试安装它。sudo apt-get install python3-distutils
然后它抛出了这个错误。
Error: Unable to locate package python3-distutils
我正在使用 ubuntu 16.04。有人知道根本原因是什么吗?
非常感谢您花费宝贵的时间来帮助我,并提前感谢您!
答案1
最终,我使用在此主题。
尝试在终端中运行以下命令:
sudo apt-get install python-distutils-extra
根据提供此答案的用户,似乎 python3-distutils 最终作为 distutils-extra 的依赖项安装,但为什么这种方法有效而其他方法对我来说失败尚不清楚。
答案2
python3-distutils和python3.8位于默认的 Ubuntu 18.04 存储库中,因此您不会在 Ubuntu 18.04 中收到这些错误。
在 Ubuntu 16.04 中打开终端并输入:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install python3.6
cd ~/Desktop/
wget -c http://launchpadlibrarian.net/449402985/python3-lib2to3_3.6.9-1~18.04_all.deb
wget -c http://launchpadlibrarian.net/449402975/python3-distutils_3.6.9-1~18.04_all.deb
sudo apt install ./python3-lib2to3_3.6.9-1~18.04_all.deb
sudo apt install ./python3-distutils_3.6.9-1~18.04_all.deb
您可能需要update-alternatives --config python3
在前三个命令之后运行,以临时将 python3.6 设置为默认的 Python 3.X 版本,以便安装 python3-lib2to3。如果您在完成安装 python3-lib2to3 和 python3-distutils 之后并在关闭终端之前没有立即将其更改回 16.04 系统默认 Python 3 版本,则更改默认 Python 3 版本将破坏许多应用程序。这两个软件包也与 Python3.8 兼容,因此在完成安装后,您将不再需要 python3.6 和 ppa:deadsnakes/ppa。
如果你更新了新的 Python(从 3.5 到 3.6),那么你的/usr/bin/python3
指向将指向没有 apt_pkg 的新 Python。编辑/usr/bin/add-apt-repository
。将第一行/usr/bin/add-apt-repository
从改#! /usr/bin/python3.6
回#! /usr/bin/python3
答案3
我认为有一个更简单的选择:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install python3.6 python3.6-dev python3.6-distutils
deadsnakes 包提供了运行 python 可能需要的许多包。
python3.*-venv
python3.*-2to3
python3.*-venv