2016-02-17 3 views
15

Я получаю эту ошибку при попытке установить любой пакет с помощью pip. У меня есть два экземпляра Пип, один с Python 2.7 и другие с Python 3.ImportError: Нет модуля с именем extern

Could not import setuptools which is required to install from a source distribution. 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 375, in setup_py 
    import setuptools # noqa 
    File "/usr/local/lib/python2.7/dist-packages/setuptools/__init__.py", line 11, in <module> 
    from setuptools.extern.six.moves import filterfalse, map 
    File "/usr/local/lib/python2.7/dist-packages/setuptools/extern/__init__.py", line 1, in <module> 
    from pkg_resources.extern import VendorImporter 
ImportError: No module named extern 

Даже когда я пытаюсь установить модуль «Экстерн» я получаю эту ошибку. Также при установке с Python, например, python setup.py install.

Заранее благодарен.

+0

Вы используете virtualenv? –

+0

Да, я использую virtualenv и virtualenvwrapper. –

+0

Можете ли вы упомянуть, какую ОС вы используете? – Kjjassy

ответ

6
sudo apt-get purge python-pkg-resources 
sudo apt-get -f install 

здесь на самом деле пакеты удаляются и очищенного (все файлы конфигурация будут удалены тоже).

-f: Попытайтесь исправить систему со сломанными зависимостями.

sudo pip install packagename

#sourcehere

+0

Хотя этот код может ответить на вопрос, предоставив дополнительный контекст относительно _why_ и/или _how_ этого кода , ответ на вопрос значительно улучшит его долгосрочную стоимость . Пожалуйста, отредактируйте свой ответ, чтобы добавить объяснение . –

+0

Хотя я действительно не совсем понимаю, что здесь происходит, мне уже помогли два раза. – antonavy

2

Не уверен, является ли проблема установки или Упаковка в но кажется, что вы не будете иметь возможность импортировать любой пакет из них, если вы установили питона отлично тогда

попробовать эти команды

шаг 1:

$which pip 
/usr/local/bin/pip 

шаг 2:

/usr/local/bin/pip install django 

или любое имя вашего пакета. Я рассматриваю Ubuntu (ОСА)

+4

Это решило https://github.com/pypa/pip/issues/1064, но спасибо за ответ. –

+1

Если вы собираетесь использовать 'pip', который возвращается' which' (т. Е. Сначала на пути), вам не нужно использовать абсолютный путь к нему на шаге 2. Это просто ' pip install django'. – erip

1

Вы можете попробовать следующую команду; он работал для меня:

sudo apt-get install --reinstall python-setuptools 
2

ли это будет работать

sudo pip install -U setuptools 
+0

К сожалению, это просто вызывает у меня ошибку из pip о '' модуле 'объект не имеет атрибута' PROTOCOL_SSLv3'' – Cerin

Смежные вопросы