修复 Ubuntu 16.04 中 Python3 升级问题

修复 Ubuntu 16.04 中 Python3 升级问题

我已经将 Ubuntu 16.04 中的 python3 从默认版本升级到 3.6.3。但是,它不能正常工作。例如,当我运行“import matplotlib”时,它会抱怨:

ModuleNotFoundError: No module named 'matplotlib'

而且,当我运行时sudo apt install python3-matplotlib,它告诉我:

python3-matplotlib is already the newest version (1.5.1-1ubuntu1).

我尝试了这个想法,但显然没有帮助:我有 Ubuntu 14.04,我升级了 python3。我在 matplotlib 上遇到了同样的问题。我将 Ubuntu 14.04 升级到了 16.04。仍然有这个问题。使用了 Resetter 应用程序,并进行了完整的包和用户重置。问题仍然存在。

一些信息:

$ python3 --version
Python 3.6.3

$ which python3
/usr/local/bin/python3

$ which python
/usr/bin/python

$ whereis python3
python3: /usr/bin/python3.5m /usr/bin/python3 /usr/bin/python3.5 /usr/lib/python3 /usr/lib/python3.5 /etc/python3 /etc/python3.5 /usr/local/bin/python3.4-config /usr/local/bin/python3.6m-config /usr/local/bin/python3.6m /usr/local/bin/python3.6 /usr/local/bin/python3.4m-config /usr/local/bin/python3.4 /usr/local/bin/python3.4m /usr/local/bin/python3.6-config /usr/local/bin/python3 /usr/local/lib/python3.6 /usr/local/lib/python3.4 /usr/local/lib/python3.5 /usr/include/python3.5m /usr/share/python3 /usr/share/man/man1/python3.1.gz

编辑1:是否sudo apt-get install ubuntu-desktop将python3恢复为系统默认设置?

答案1

Ubuntu 附带的 Python 版本仍然存在,只是它在您的路径中没有优先级,因为/usr/local/bin/胜过/usr/bin/。这会毒害您的整个系统。

此时最好的选择是做与你创造相反的事情/usr/local/bin/python3。我们不知道这里发生了什么,所以如果这是你创建的符号链接,请将其删除,或者如果它是你编译或提取的真实二进制文件,请采取适当的措施。

如果您想要 Python 3.6,请将其安装在不同的环境中。不要尝试替换系统版本。Ubuntu 需要其 Python 版本来执行 Ubuntu 功能。有 virtualenv 之类的工具允许您将 Python 映射pythonpython3您喜欢的任何版本,并安装 Python 包而不会破坏 Ubuntu 的版本。

如果您想要受支持的 Python 3.6 版本,它可以在 17.10 中使用,但您需要在约 9 个月后再次升级 Ubuntu。

相关内容