Python 3: ImportError "Нет модуля с именем Setuptools"
У меня проблемы с установкой пакетов в Python 3.
Я всегда устанавливал пакеты с setup.py install
. Но теперь, когда я пытаюсь установить пакет ansicolors, я получаю:
importerror "Нет модуля с именем Setuptools"
Я понятия не имею, что делать, потому что у меня не было setuptools, установленного в прошлом. Тем не менее, я смог установить много пакетов с setup.py install
без setuptools. Почему я должен получить setuptools сейчас?
Я даже не могу установить setuptools, потому что у меня есть Python 3.3, а setuptools не поддерживает Python 3.
Почему моя команда установки больше не работает?
Ответы
Ответ 1
Ваш файл setup.py
требует setuptools
. Некоторые пакеты Python раньше использовали distutils
для распространения, но большинство теперь используют setuptools
, более полный пакет. Вот вопрос о различиях между ними.
Чтобы установить setuptools
в Debian:
sudo apt-get install python-setuptools
Для Python 3.x:
sudo apt-get install python3-setuptools
Ответ 2
РЕДАКТИРОВАТЬ: Официальная страница dox setuptools:
Если у вас установлен Python 2> = 2.7.9 или Python 3> = 3.4 с python.org, у вас уже есть pip и setuptools, но вам потребуется обновить его до последней версии:
В Linux или OS X:
pip install -U pip setuptools
В Windows:
python -m pip install -U pip setuptools
Поэтому остальная часть этого поста, вероятно, устарела (например, некоторые ссылки не работают).
Distribute - это ветка setuptools, которая "предлагает поддержку Python 3". Инструкция по установке для дистрибутива (setuptools) + pip:
curl -O http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip
Подобная проблема здесь.
ОБНОВЛЕНИЕ: Распространение, кажется, устарело, то есть объединено в Setuptools: Распространение является устаревшим ответвлением проекта Setuptools. Начиная с выпуска Setuptools 0.7, Setuptools и Распространение слились, и Распределение больше не поддерживается. Все текущие усилия должны ссылаться на проект Setuptools и документацию Setuptools.
Вы можете попробовать с инструкциями, найденными на странице pyto setuptools (я не проверял это, извините :():
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
easy_install pip
Ответ 3
Я делал это внутри virtualenv на Oracle Linux 6.4, используя python-2.6, поэтому решения на основе apt не были для меня вариантом, а также не были идеями python-2.7. Мое исправление заключалось в том, чтобы обновить мою версию setuptools, которая была установлена virtualenv:
pip install --upgrade setuptools
После этого мне удалось установить пакеты в virtualenv. Я знаю, что у этого вопроса уже был выбран ответ, но я надеюсь, что этот ответ поможет другим в моей ситуации.
Ответ 4
pip uninstall setuptools
а затем:
pip install setuptools
Это работает для меня и исправляет мою проблему.
Ответ 5
Пакет distribute
предоставляет версию, совместимую с Python 3 setuptools
: http://pypi.python.org/pypi/distribute
Кроме того, используйте pip
для установки модулей. Он автоматически находит зависимости и устанавливает их для вас.
Он отлично работает для меня с вашим пакетом:
[~] pip --version
pip 1.2.1 from /usr/lib/python3.3/site-packages (python 3.3)
[~] sudo pip install ansicolors
Downloading/unpacking ansicolors
Downloading ansicolors-1.0.2.tar.gz
Running setup.py egg_info for package ansicolors
Installing collected packages: ansicolors
Running setup.py install for ansicolors
Successfully installed ansicolors
Cleaning up...
[~]
Ответ 6
Windows 7:
Я дал полное решение здесь для python selenium webdriver
1. Setup easy install (windows - simplified)
a. download ez.setup.py (https://bootstrap.pypa.io/ez_setup.py) from 'https://pypi.python.org/pypi/setuptools'
b. move ez.setup.py to C:\Python27\
c. open cmd prompt
d. cd C:\Python27\
e. C:\Python27\python.exe ez.setup.py install
Ответ 7
PyPA рекомендуется для установки и управления пакетами Python pip
. pip
включен в Python 3.4 (PEP 453), но для более старых версий здесь как установить его (в Windows):
Загрузить https://bootstrap.pypa.io/get-pip.py
>c:\Python33\python.exe get-pip.py
Downloading/unpacking pip
Downloading/unpacking setuptools
Installing collected packages: pip, setuptools
Successfully installed pip setuptools
Cleaning up...
>c:\Python33\Scripts\pip.exe install pymysql
Downloading/unpacking pymysql
Installing collected packages: pymysql
Successfully installed pymysql
Cleaning up...
Ответ 8
Несколько лет назад я унаследовал проект python (2.7.1), работающий под Django-1.2.3, и теперь меня попросили улучшить его с помощью возможностей QR. Получил ту же проблему и не нашел ни pip, ни apt-get. Так что я решил это совершенно другим, но простым способом.
Я /bin/vi-ed setup.py и изменил строку
"из настройки импорта setuptools"
в:
"из настройки импорта distutils.core"
Это сделало это для меня, поэтому я решил опубликовать это для других пользователей, использующих старые питоны.
С Уважением,
Роджер Вермейр