Python 3: ImportError "Kein Modul namens Setuptools"


282

Ich habe Probleme mit der Installation von Paketen in Python 3.

Ich habe immer Pakete mit installiert setup.py install. Aber jetzt, wenn ich versuche, das Ansicolors-Paket zu installieren, bekomme ich:

importerror "Kein Modul namens Setuptools"

Ich habe keine Ahnung, was ich tun soll, da ich in der Vergangenheit keine Setuptools installiert hatte. Trotzdem konnte ich viele Pakete setup.py installohne Setuptools installieren . Warum sollte ich jetzt Setuptools bekommen?

Ich kann nicht einmal setuptools installieren, da ich Python 3.3 habe und setuptools Python 3 nicht unterstützt.

Warum funktioniert mein Installationsbefehl nicht mehr?

Antworten:


531

Ihre setup.pyDatei benötigt setuptools. Einige Python-Pakete, die früher distutilsfür die Verteilung verwendet wurden, aber die meisten verwenden jetzt setuptoolsein vollständigeres Paket. Hier ist eine Frage zu den Unterschieden zwischen ihnen.

So installieren Sie setuptoolsauf Debian:

sudo apt-get install python3-setuptools

Für eine ältere Version von Python (Python 2.x):

sudo apt-get install python-setuptools

1
danke für diesen Beitrag .. hat mir sehr geholfen .. Viele Leute raten Setuptools, aber es ist nicht möglich, in py3.3 zu installieren .. die Verteilung funktioniert wie ein Zauber
Schweinchen

22
Ich musste es mit "python3" installieren, damit es funktioniert:sudo apt-get install python3-setuptools
D.Steinel

1
Ich habe installiert python3 python3-pip python3-setuptoolsund es hat funktioniert. Vielen Dank.
Warchantua

3
Aus irgendeinem Grund funktioniert es in Ubuntu 18.04 nicht apt-get install python3-setuptools.
Loretoparisi

1
@loretoparisi Ich habe das gleiche Problem, hast du eine Lösung für Ubuntu 18.04 gefunden?
Scott

91

EDIT: Offizielle setuptools dox Seite :

Wenn Sie Python 2> = 2.7.9 oder Python 3> = 3.4 von python.org installiert haben, verfügen Sie bereits über pip und setuptools, müssen jedoch auf die neueste Version aktualisieren:

Unter Linux oder OS X:

pip install -U pip setuptools 

Unter Windows:

python -m pip install -U pip setuptools

Daher ist der Rest dieses Beitrags wahrscheinlich veraltet (z. B. funktionieren einige Links nicht).

Distribute - ist eine Setuptools-Gabel, die "Python 3-Unterstützung bietet". Installationsanleitung für Distribute (Setuptools) + Pip:

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

Ähnliches Problem hier .

UPDATE: Distribute scheint veraltet zu sein, dh in Setuptools zusammengeführt: Distribute ist eine veraltete Abzweigung des Setuptools-Projekts. Seit der Veröffentlichung von Setuptools 0.7 wurden Setuptools und Distribute zusammengeführt und Distribute wird nicht mehr verwaltet. Alle laufenden Bemühungen sollten sich auf das Setuptools-Projekt und die Setuptools-Dokumentation beziehen.

Sie können versuchen, mit Anweisungen auf setuptools pypi Seite gefunden (ich habe dies nicht getestet, sorry :():

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

1
Vielen Dank, ich bin mir nicht sicher, wie dies mein Problem gelöst hat, aber es hat funktioniert. sofort! Ich hatte ernsthafte Probleme beim Versuch, Distribute zu installieren. Dies muss die Installation irgendwie erzwungen haben, da sudo pip install distributedies nicht funktionieren würde. Meine Probleme sind unter stackoverflow.com/questions/16846742/…
Deepend

1
Dies funktioniert plattformübergreifend (Win), während die akzeptierte Antwort nicht anwendbar ist. Vielen Dank!
Fundead

Im Ernst, dieser Typ braucht mehr Anerkennung als er gegeben hat. Er hat gerade meinen Tag gerettet
Stephn_R

1
URLs sind nicht mehr gültig. Könnten Sie dies bitte überprüfen?
Mebada

22

Ich habe dies in einer virtuellen Umgebung unter Oracle Linux 6.4 mit Python-2.6 getan, sodass die apt-basierten Lösungen für mich keine Option waren und auch nicht die Python-2.7-Ideen. Mein Fix bestand darin, meine Version von Setuptools zu aktualisieren, die von virtualenv installiert wurden:

pip install --upgrade setuptools

Danach konnte ich Pakete in der virtuellen Umgebung installieren. Ich weiß, dass für diese Frage bereits eine Antwort ausgewählt wurde, aber ich hoffe, dass diese Antwort anderen in meiner Situation hilft.


1
Beachten Sie, dass es Probleme gab, "Einträge können nicht aus nicht vorhandenen Dateien entfernt werden ...". Durch Hinzufügen von --ignore-install zum obigen Befehl wurde das Problem behoben.
Kiki Jewell

10

pip uninstall setuptools

und dann:

pip install setuptools

Dies funktioniert für mich und behebt mein Problem.


Das hat bei mir funktioniert! Irgendwie war mein Setuptool ältere Version 28.8. Diese Deinstallation und Neuinstallation erzwang ein Update auf Version 48. Und dann funktionierte alles einwandfrei.
Joseph Lee

4

Das distributePaket enthält eine Python 3-kompatible Version von setuptools: http://pypi.python.org/pypi/distribute

Verwenden Sie auch pip, um die Module zu installieren. Abhängigkeiten werden automatisch gefunden und für Sie installiert.

Es funktioniert gut für mich mit Ihrem Paket:

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

Ich habe eine komplette Lösung gegeben hier für Python Selen 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

1

Das von PyPA empfohlene Tool zum Installieren und Verwalten von Python-Paketen ist pip. pipist in Python 3.4 ( PEP 453 ) enthalten, aber für ältere Versionen wird es wie folgt installiert (unter Windows):

Laden Sie https://bootstrap.pypa.io/get-pip.py herunter

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

0

Vor einigen Jahren habe ich ein Python (2.7.1) -Projekt geerbt, das unter Django-1.2.3 ausgeführt wird, und wurde nun gebeten, es mit QR-Möglichkeiten zu erweitern. Habe das gleiche Problem und habe auch weder pip noch apt-get gefunden. Also habe ich es auf eine ganz andere, aber einfache Weise gelöst. Ich / bin / vi-ed die setup.py und änderte die Zeile "from setuptools import setup" in: "from distutils.core import setup" Das hat es für mich getan, also dachte ich, ich sollte dies für andere Benutzer posten, die alte Pythons ausführen . Grüße, Roger Vermeir

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.