python2.7 не работает из-за ошибки импорта, пожалуйста, помогите!

Я только что обновился с 16.04 до 17.10, и каждый раз, когда я пытаюсь выполнить любую команду python2.7, я получаю эту ошибку:

pip install --upgrade pip
Traceback (most recent call last):
File "/home/XXXX/bin/pip", line 7, in <module>
    from pip import main
  File "/home/XXXX/local/lib/python2.7/site-packages/pip/__init__.py", 
line 5, in <module>
    import logging
  File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
    import sys, os, time, cStringIO, traceback, warnings, weakref, 
collections
  File "/home/XXXX/lib/python2.7/weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref

У другого пользователя была похожая проблема, но это влияет Любая программа на Python, которую я пытаюсь выполнить. Я не могу ничего установить через pip или использовать скрипты на python. Я действительно понятия не имею, что делать, помощь будет принята с благодарностью.

Вывод «python --version» равен

Python 2.7.12

, однако «update python» выдает:

python is already the newest version (2.7.14-2ubuntu1).
26
задан 30 November 2017 в 08:05

4 ответа

Это не решение Ubuntu, но, поскольку этот вопрос часто встречается в результатах поиска ошибки, я хотел сказать, что у меня была эта ошибка в OSX, потому что мой системный Python по умолчанию был 2.7, и я установил "python @". 2 "при установке другого пакета.

Если вы используете OSX и используете homebrew, проверьте ваши пакеты, установленные с brew, запустив brew list, и если в этом списке появится «python @ 2», а Python 2.7 - это системный Python, вы можете удалить Заварите установленный пакет с brew remove python@2 --ignore-dependencies

19
ответ дан 30 November 2017 в 08:05

В случае, если вы использовали виртуальную среду, вам нужно ее заново создать. Другая возможность заключается в том, что вы используете какую-то версию Python, основанную на исходной или боковой установке, которая конфликтует с системной. В этом случае вы должны разобраться, что правильные папки и пути настроены из разных сред.

9
ответ дан 30 November 2017 в 08:05

В моем случае это была ошибка, связанная с виртуальной средой. Итак, создание новой виртуальной среды работало для меня. Вот список команд, которые могут помочь вам в этом.

Установка виртуальной среды:

pip install virtualenv

Создание новой виртуальной среды:

virtualenv -p {env_name}

Активация виртуальной среды:

source env_name/bin/activate

Отключение виртуальной среды:

deactivate
4
ответ дан 30 November 2017 в 08:05

Предположим, вам нужно воссоздать virtualenv:

cd <virtualenv_folder>
virtualenv .
2
ответ дан 29 July 2020 в 16:34

Другие вопросы по тегам:

Похожие вопросы: