我已经将 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 映射python
到python3
您喜欢的任何版本,并安装 Python 包而不会破坏 Ubuntu 的版本。
如果您想要受支持的 Python 3.6 版本,它可以在 17.10 中使用,但您需要在约 9 个月后再次升级 Ubuntu。