Python 3: ImportError "Nessun modulo denominato Setuptools"


284

Sto riscontrando problemi con l'installazione di pacchetti in Python 3.

Ho sempre installato i pacchetti con setup.py install. Ma ora, quando provo ad installare il pacchetto ansicolors ottengo:

importerror "Nessun modulo denominato Setuptools"

Non ho idea di cosa fare perché non avevo installato setuptools in passato. Tuttavia, sono stato in grado di installare molti pacchetti con setup.py installsenza setuptools. Perché dovrei ottenere setuptools ora?

Non riesco nemmeno a installare setuptools perché ho Python 3.3 e setuptools non supporta Python 3.

Perché il mio comando di installazione non funziona più?

Risposte:


534

Il tuo setup.pyfile ha bisogno setuptools. Alcuni pacchetti Python utilizzavano distutilsper la distribuzione, ma la maggior parte ora utilizza setuptoolsun pacchetto più completo. Ecco una domanda sulle differenze tra loro.

Per installare setuptoolssu Debian:

sudo apt-get install python3-setuptools

Per una versione precedente di Python (Python 2.x):

sudo apt-get install python-setuptools

1
grazie per questo post .. mi ha aiutato molto..Molte persone stanno promuovendo strumenti di installazione ma non è possibile installarlo in py3.3..la distribuzione funziona come un incantesimo
piggy

22
ho dovuto installarlo con "python3" per farlo funzionare:sudo apt-get install python3-setuptools
D.Steinel

1
Ho installato python3 python3-pip python3-setuptoolse ha funzionato. Grazie.
Warchantua,

3
Per qualche motivo in Ubuntu 18.04 non funziona apt-get install python3-setuptools.
Loretoparisi,

1
@loretoparisi Ho avuto lo stesso problema, hai trovato una soluzione per Ubuntu 18.04?
Scott,

92

EDIT: pagina ufficiale dox di setuptools :

Se hai Python 2> = 2.7.9 o Python 3> = 3.4 installato da python.org, avrai già pip e setuptools, ma dovrai aggiornare all'ultima versione:

Su Linux o OS X:

pip install -U pip setuptools 

Su Windows:

python -m pip install -U pip setuptools

Pertanto, il resto di questo post è probabilmente obsoleto (ad esempio alcuni link non funzionano).

Distribuisci - è un fork di setuptools che "offre supporto per Python 3". Istruzioni per l'installazione di distribut (setuptools) + pip:

curl -O http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip

Problema simile qui .

AGGIORNAMENTO: Distribuire sembra essere obsoleto, ovvero unito a Setuptools: Distribute è un fork obsoleto del progetto Setuptools. Dalla versione 0.7 di Setuptools, Setuptools e Distribute si sono uniti e Distribuire non viene più mantenuto. Tutti gli sforzi in corso dovrebbero fare riferimento al progetto Setuptools e alla documentazione di Setuptools.

Puoi provare con le istruzioni trovate sulla pagina pypi di setuptools (non l'ho provato, scusa :():

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
easy_install pip

1
Grazie mille, non sono sicuro di come questo abbia risolto il mio problema, ma è stato così. immediatamente! Stavo riscontrando seri problemi nel tentativo di installare distribut. questo deve aver in qualche modo forzato l'installazione in quanto sudo pip install distributenon funzionerebbe. I miei problemi sono documentati su stackoverflow.com/questions/16846742/…
Deepend,

1
Funziona su più piattaforme (Win), mentre la risposta accettata non è applicabile. Grazie!
raccolta fondi

Seriamente, questo ragazzo ha bisogno di più credito di quello che gli è stato dato. Mi ha appena salvato la giornata
Stephn_R,

1
Gli URL non sono più validi .. potresti controllare?
Mebada,

22

Lo stavo facendo all'interno di un virtual su Oracle Linux 6.4 usando python-2.6, quindi le soluzioni basate su apt non erano un'opzione per me, né le idee di python-2.7. La mia correzione era aggiornare la mia versione di setuptools che era stata installata da virtualenv:

pip install --upgrade setuptools

Successivamente, sono stato in grado di installare i pacchetti in virtualenv. So che a questa domanda è già stata selezionata una risposta, ma spero che questa risposta possa aiutare gli altri nella mia situazione.


1
Nota, si è verificato un problema "Impossibile rimuovere le voci dal file inesistente ..." L'aggiunta di --ignore-installata al comando sopra risolto.
Kiki Jewell,

10

pip uninstall setuptools

e poi:

pip install setuptools

Questo funziona per me e risolve il mio problema.


Questo ha funzionato per me! In qualche modo il mio setuptools era la versione precedente 28.8. Questa disinstallazione e reinstallazione ha costretto l'aggiornamento alla versione 48. E poi tutto ha funzionato bene.
Joseph Lee,

4

Il distributepacchetto fornisce una versione compatibile di Python 3 di setuptools: http://pypi.python.org/pypi/distribute

Inoltre, utilizzare pipper installare i moduli. Trova automaticamente le dipendenze e le installa per te.

Funziona bene per me con il tuo pacchetto:

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

3

Windows 7:

Ho fornito una soluzione completa qui per il webdriver di selenio di pitone

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

1

Lo strumento consigliato da PyPA per l'installazione e la gestione dei pacchetti Python è pip. pipè incluso in Python 3.4 ( PEP 453 ), ma per le versioni precedenti ecco come installarlo (su Windows):

Scarica 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...

1

Alcuni anni fa ho ereditato un progetto python (2.7.1) in esecuzione con Django-1.2.3 e ora mi è stato chiesto di migliorarlo con le possibilità di QR. Ha lo stesso problema e non ha trovato pip o apt-get. Quindi l'ho risolto in un modo completamente diverso ma semplice. Ho / bin / vi-ed setup.py e ho cambiato la riga "da setuptools import setup" in: "da distutils.core import setup" Questo è stato per me, quindi ho pensato di pubblicarlo per altri utenti che usano vecchi pitoni . Saluti, Roger Vermeir

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.