Python 3: ImportError «Aucun module nommé Setuptools»

284

J'ai des problèmes avec l'installation de packages dans Python 3.

J'ai toujours installé des packages avec setup.py install. Mais maintenant, quand j'essaie d'installer le paquet ansicolors, j'obtiens:

importerror "Aucun module nommé Setuptools"

Je ne sais pas quoi faire car je n'ai pas installé de setuptools dans le passé. Pourtant, j'ai pu installer de nombreux packages avec setup.py installsans setuptools. Pourquoi devrais-je obtenir setuptools maintenant?

Je ne peux même pas installer setuptools car j'ai Python 3.3 et setuptools ne prend pas en charge Python 3.

Pourquoi ma commande d'installation ne fonctionne plus?

user1994934
la source

Réponses:

534

Votre setup.pyfichier a besoin setuptools. Certains packages Python étaient utilisés distutilspour la distribution, mais la plupart utilisent maintenant setuptoolsun package plus complet. Voici une question sur les différences entre eux.

Pour installer setuptoolssur Debian:

sudo apt-get install python3-setuptools

Pour une ancienne version de Python (Python 2.x):

sudo apt-get install python-setuptools
tiago
la source
1
merci pour ce post .. m'a beaucoup aidé .. Beaucoup de gens conseillent setuptools mais ce n'est pas possible d'installer dans py3.3..la distribution fonctionne comme un charme
piggy
22
j'ai dû l'installer avec "python3" pour le faire fonctionner:sudo apt-get install python3-setuptools
D.Steinel
1
J'ai installé python3 python3-pip python3-setuptoolset cela a fonctionné. Merci.
warchantua
3
Pour une raison quelconque dans Ubuntu 18.04, il ne fonctionne pas avec apt-get install python3-setuptools.
loretoparisi
1
@loretoparisi J'ai eu ce même problème, avez-vous trouvé une solution pour Ubuntu 18.04?
Scott
92

EDIT: page officielle dox de setuptools :

Si vous avez Python 2> = 2.7.9 ou Python 3> = 3.4 installé à partir de python.org, vous aurez déjà pip et setuptools, mais devrez mettre à niveau vers la dernière version:

Sous Linux ou OS X:

pip install -U pip setuptools 

Sous Windows:

python -m pip install -U pip setuptools

Par conséquent, le reste de ce post est probablement obsolète (par exemple, certains liens ne fonctionnent pas).

Distribuer - est un fork de setuptools qui "offre le support de Python 3". Instructions d'installation pour distribuer (setuptools) + pip:

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

Problème similaire ici .

MISE À JOUR: Distribute semble être obsolète, c'est-à-dire fusionné dans Setuptools: Distribute est un fork obsolète du projet Setuptools. Depuis la sortie de Setuptools 0.7, Setuptools et Distribute ont fusionné et Distribute n'est plus maintenu. Tous les efforts en cours doivent faire référence au projet Setuptools et à la documentation Setuptools.

Vous pouvez essayer avec les instructions trouvées sur la page pypi de setuptools (je n'ai pas testé cela, désolé :():

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
easy_install pip
Robert Lujo
la source
1
Merci beaucoup, je ne sais pas comment cela a résolu mon problème, mais c'est arrivé. immédiatement! J'avais de sérieux problèmes lors de l'installation de la distribution. cela a dû en quelque sorte forcé l'installation car sudo pip install distributecela ne fonctionnerait pas. Mes problèmes sont documentés sur stackoverflow.com/questions/16846742/…
Deepend
1
Cela fonctionne multiplateforme (Win), alors que la réponse acceptée n'est pas applicable. Merci!
fundead
Sérieusement, ce mec a besoin de plus de crédit que celui qu'il a donné. Il vient de sauver ma journée
Stephn_R
1
Les URL ne sont plus valides. Pourriez-vous vérifier?
mebada
22

Je faisais cela dans un virtualenv sur Oracle Linux 6.4 utilisant python-2.6, donc les solutions basées sur apt n'étaient pas une option pour moi, pas plus que les idées python-2.7. Mon correctif a été de mettre à niveau ma version de setuptools qui avait été installée par virtualenv:

pip install --upgrade setuptools

Après cela, j'ai pu installer des packages dans virtualenv. Je sais que cette question a déjà reçu une réponse, mais j'espère que cette réponse aidera les autres dans ma situation.

Dawngerpony
la source
1
Remarque, il a rencontré des problèmes "Impossible de supprimer les entrées d'un fichier inexistant ..." L'ajout de --ignore-installed à la commande ci-dessus a corrigé ce problème.
Kiki Jewell
10

pip uninstall setuptools

puis:

pip install setuptools

Cela fonctionne pour moi et résout mon problème.

gonjay
la source
Cela a fonctionné pour moi! D'une manière ou d'une autre, mon setuptools était une ancienne version 28.8. Cette désinstallation et réinstallation l'a forcé à mettre à jour vers la version 48. Et puis tout a bien fonctionné.
Joseph Lee
4

Le distributepackage fournit une version compatible Python 3 de setuptools: http://pypi.python.org/pypi/distribute

Utilisez également pippour installer les modules. Il recherche automatiquement les dépendances et les installe pour vous.

Cela fonctionne très bien pour moi avec votre colis:

[~] 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...
[~]
Mixeur
la source
3

Windows 7:

J'ai donné ici une solution complète pour le webdriver en python sélénium

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
Sathish
la source
1

L' outil PyPA recommandé pour l'installation et la gestion des packages Python est pip. pipest inclus avec Python 3.4 ( PEP 453 ), mais pour les anciennes versions, voici comment l'installer (sous Windows):

Téléchargez 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...
Cees Timmerman
la source
1

Il y a quelques années, j'ai hérité d'un projet python (2.7.1) fonctionnant sous Django-1.2.3 et on m'a maintenant demandé de l'améliorer avec des possibilités QR. J'ai le même problème et je n'ai pas trouvé pip ou apt-get non plus. Je l'ai donc résolu d'une manière totalement différente mais facile. J'ai / bin / vi-ed le fichier setup.py et changé la ligne "de setuptools import setup" en: "from distutils.core import setup". . Cordialement, Roger Vermeir

Roger Vermeir
la source