我最近重新安装了 ubuntu 并升级到 16.04 但无法使用 python:
$ python manage.py runserver Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings' Aborted
此时,python本身不起作用
$ python Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings' Aborted
甚至这个建议也不再有效:
unset PYTHONHOME unset PYTHONPATH
每次我用一种方法修复它,它都会再次出现。几个答案有助于暂时修复它,但不是永久的。我已经多次重新安装了 python 和 python3。我该怎么办?
您遇到的问题与您的 Python 环境设置不正确有关,可能是由于环境变量(如PYTHONHOME或)PYTHONPATH配置不正确,或者由于 Python 安装损坏。
PYTHONHOME
PYTHONPATH
以下是排除故障并解决问题的分步指南:
首先,确保未设置任何可能有问题的环境变量:
您可以通过运行以下命令检查这些变量是否仍然设置:
echo $PYTHONHOME echo $PYTHONPATH
如果它们没有返回任何内容,则表明它们被正确取消设置。
鉴于您已经尝试重新安装 Python,让我们进行一次干净的重新安装以确保一切正确。
首先,删除现有的 Python 安装:
sudo apt-get remove --purge python2.7 python3 sudo apt-get autoremove
然后,重新安装 Python:
sudo apt-get update sudo apt-get install --reinstall python2.7 python3
有时,可能存在需要修复的损坏的符号链接或依赖关系。
您可以尝试:
sudo apt-get install --reinstall python-minimal sudo apt-get install --reinstall python3-minimal sudo apt-get -f install
验证 Python 是否正确安装并指向正确的解释器:
which python which python3
这些应该指向/usr/bin/python和/usr/bin/python3。
/usr/bin/python
/usr/bin/python3
如果上述步骤不起作用,您可能需要重建 Python。方法如下:
sudo apt-get remove python2.7 python3 sudo apt-get autoremove
sudo apt-get install build-essential checkinstall sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \ libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
下载最新版本的Python 2.7.x:
cd /usr/src sudo wget https://www.python.org/ftp/python/2.7.x/Python-2.7.x.tgz sudo tar xzf Python-2.7.x.tgz cd Python-2.7.x sudo ./configure sudo make altinstall
替换2.7.x为最新版本号。
2.7.x
为了避免系统级问题,建议使用虚拟环境:
sudo apt-get install python3-venv python3 -m venv myenv source myenv/bin/activate
这将创建一个隔离的环境,您可以在其中独立管理 Python 包。
该错误提到了区域设置编码问题。请确保您的系统的区域设置配置正确:
locale
如果您发现任何问题,请尝试重新配置您的语言环境:
sudo dpkg-reconfigure locales
进行这些更改后,最好重新启动机器以确保所有更改正确生效。
完成以下步骤后,尝试运行:
python --version python3 --version
如果一切设置正确,它应该会显示正确的 Python 版本并且不会出现错误。
按照以下步骤,您在 Ubuntu 16.04 上的 Python 安装应该已经修复并可以按预期工作。