升级到 16.04 后没有名为“encodings”的模块

升级到 16.04 后没有名为“encodings”的模块

你好,我将 Ubuntu 升级到 16.04,但是每当我尝试运行 Python 程序或 pip 安装(Python 2.7 或 Python 3.5)时,都会出现以下错误:

ImportError: No module named 'encodings'

截屏

答案1

从评论来看,您似乎试图pip3在为 Python 2 设置的虚拟环境中使用。请注意,如果您没有明确指定 Python 版本,则在 Ubuntu 上运行会默认virtualenv venv创建一个名为 Python 2 的虚拟环境。venv

无论如何,如果您想为 Python 2 创建一个虚拟环境,请运行:

virtualenv venv  # create virtualenv named venv for Python 2

如果要为 Python 3 创建虚拟环境,请运行:

virtualenv venv -p python3  # create virtualenv named venv for Python 3

在这两种情况下,在通过运行激活虚拟环境后source venv/bin/activate,你只需要调用pip来安装 Python 包;这仍然适用于为 Python 3 创建的虚拟环境,因为pip已经知道你正在使用的 Python 版本,所以称呼pip3

答案2

我曾经dpkg -S <missing file>弄清楚要重新安装哪个包......

然后我跑了(例如):

sudo apt install --reinstall libpython2.7-stdlib libpython2.7-minimal

相关内容