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.

Почему моя команда установки больше не работает?

24 ответа

Решение

Ваш setup.py потребности в файле setuptools, Многие из пакетов Python используют distutils для распространения, но некоторые используют setuptools, более полный пакет. Вот вопрос о различиях между ними.

Что касается Python 3.3, вы должны установить distribute вместо. Это более новый пакет, который работает так же, как setuptools (это даже называется setuptools внутри).

ОБНОВЛЕНИЕ (октябрь 2014 г.): дистрибутив был объединен с setuptools 0.7, так что просто получите setuptools для Python 2.7 и 3.x

Чтобы установить это на Debian:

sudo apt-get install python-setuptools

Для Python 3.x

sudo apt-get install python3-setuptools

РЕДАКТИРОВАТЬ: Официальная страница 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

Убедитесь, что вы используете последнюю версию pip

Пытался установить ansibleи это не удалось с ModuleNotFoundError: нет модуля с именем 'setuptools_rust'

python3-setuptools уже на месте, поэтому обновление pip решил это.

      pip3 install -U pip 

Я делал это внутри virtualenv в Oracle Linux 6.4 с использованием python-2.6, поэтому решения на основе apt не были для меня подходящими, как и идеи python-2.7. Мое исправление состояло в том, чтобы обновить мою версию setuptools, которая была установлена ​​virtualenv:

pip install --upgrade setuptools

После этого я смог установить пакеты в virtualenv. Я знаю, что на этот вопрос уже был выбран ответ, но я надеюсь, что этот ответ поможет другим в моей ситуации.

Решение, которое сработало для меня, заключалось в обновлении моих инструментов настройки:

python3 -m pip install --upgrade pip setuptools wheel

Для других с той же проблемой по другой причине: это также может произойти, если в том же каталоге, что и setup.py, даже когда setuptools доступен.

Удаление pyproject.toml исправил проблему для меня.

pip uninstall setuptools

а потом:

pip install setuptools

Это работает для меня и исправить мою проблему.

Первый шаг #1
Вам необходимо установить setuptools

В Linux:

В Mac OS:

pip install -U pip setuptools

В Windows:

python -m pip install -U pip setuptools

Второй шаг #2

Убедитесь, что вы сделали его доступным (сделайте его доступным в переменных среды)

В Linux

export PATH="INSTALLATIONDIRECTORY:$PATH"

В Mac OS

Извини не знаю.

В Windows

  1. Откройте «Начать поиск», введите «env» и выберите «Изменить системные переменные среды».
  2. Щелкните кнопку «Переменная среды».
  3. При необходимости установите переменные среды. Кнопка New добавляет дополнительную переменную.
  4. Закройте все диалоговые окна, нажав «ОК». Ваши изменения сохранены!

Когда есть pyproject.toml в том же каталоге, что и setup.py, это может быть причиной проблемы. Я переименовал этот файл, но это не решило проблему, поэтому я восстановил исходное имя файла и внес следующие изменения.

В разделе [build-system] я добавил "setuptools" в список requires=, и это сработало.

вот как моя проблема была решена => pip3 install setuptools-rust

Если вы хотите проверить свой список => pip3 list

я столкнулся с этой проблемой при попытке установить elastalert2

Информация о системе

Выпуск CentOS Linux 7.9.2009 (основной)

Питон 3.6.8

pip 21.3.1 из /usr/local/lib/python3.6/site-packages/pip (python 3.6)

Я столкнулся с этой проблемой, когда мой файл pip requirements.txt содержал редактируемую библиотеку, которая была построена с использованием поэзии и содержала файл pyproject.toml. Следуя документации для setuptools, моим решением было добавить setuptools к требованиям системы сборки в файле pyproject.toml следующим образом:

      [build-system]
requires = ["poetry-core>=1.0.0", "setuptools"]
build-backend = "poetry.core.masonry.api"

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...
[~]

Если pipне установлен, как, например , если она идет от Deadsnakes PPA , или среды Докер, лучший способ , чтобы исправить эту ошибку , является развернув его, запустив

      python -m ensurepip

Я побежал sudo python setup.py build_ext -i и это не удалось с No module named setuptools.

Я решил это с помощью этой команды:

      <i>sudo apt-get install python-setuptools</i>

Windows 7:

Я дал полное решение здесь для веб-драйвера Python Selen

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

Несколько лет назад я унаследовал проект python (2.7.1), работающий под управлением Django-1.2.3, и теперь меня попросили улучшить его возможностями QR. Получил ту же проблему и не нашел ни pip, ни apt-get. Итак, я решил это совершенно другим, но простым способом. Я /bin/vi-редактировал setup.py и изменил строку "from setuptools import setup" на: "from distutils.core import setup". Это сделало это за меня, поэтому я подумал, что должен опубликовать это для других пользователей, работающих со старыми питонами.. С уважением, Роджер Вермейр

Работая на Debian, иногда это может быть из-за более старой версии pip. Поэтому обновите pip>

python -m pip установить -U пип

У меня была такая проблема с установкой pyunicorn. Я хотел установить его на Google Colab. Я попытался установить pyunicorn прямо с Github, и у меня это сработало. Например, в моем случае это было так:

      pip install git+https://github.com/pik-copan/pyunicorn.git#egg=pyunicorn

В macOS, если у вас установлен homebrew , просто запустите:

      brew install rust

Рекомендуемый инструмент 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...

Если вы все еще находите эту проблему, попробуйте следующее:

      python3 -m pip install scrapy --upgrade --force --user

При попытке установить socketIO у меня была такая же проблема. В моей системе (Windows 11) setupTools присутствовал дважды. В C:\Program Files\Python310\Lib\site-packages\и в C:\Users\user\AppData\Roaming\Python\Python310\site-packages\Пришлось удалить один из них.

Если вы используетеpoetryдля управления вашей виртуальной средой попросите поэта обновить вашу версию setuptools:

      poetry update

Примечание: указаниеpoetry update setuptoolsможет вам не подойти, так какsetuptoolsне может быть явной зависимостью.

Попробуйте установить то же самое, используя python==3.7.6.

Это сработало для меня.

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