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
- Откройте «Начать поиск», введите «env» и выберите «Изменить системные переменные среды».
- Щелкните кнопку «Переменная среды».
- При необходимости установите переменные среды. Кнопка New добавляет дополнительную переменную.
- Закройте все диалоговые окна, нажав «ОК». Ваши изменения сохранены!
Когда есть
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.
Это сработало для меня.