Привет, я обновил Ubuntu до 16.04, но всякий раз, когда я пытаюсь запустить программу Python или установку pip (как Python 2.7, так и Python 3.5), я получаю следующую ошибку:
ImportError: No module named 'encodings'
Из комментариев похоже, что Вы пытались использовать pip3
внутренняя часть virtualenv, который настраивается для Python 2. Обратите внимание, что выполнение virtualenv venv
создает virtualenv, названный venv
для Python 2 по умолчанию на Ubuntu, если Вы не указываете версию Python явно.
В любом случае, если Вы хотите создать virtualenv для Python 2, работайте:
virtualenv venv # create virtualenv named venv for Python 2
, Если Вы хотите создать virtualenv для Python 3, работайте:
virtualenv venv -p python3 # create virtualenv named venv for Python 3
В обоих случаях после активации virtualenv путем выполнения source venv/bin/activate
просто необходимо звонить pip
для установки пакетов Python; это все еще запрашивает virtualenv, созданный для Python 3, потому что pip
уже знает, какую версию Python Вы используете, таким образом не делают вызов pip3
.
Я использовал dpkg -S <missing file>
для выяснения который пакет переустановить...
Затем я работал (пример):
sudo apt install --reinstall libpython2.7-stdlib libpython2.7-minimal