Python 3: ImportError "Ningún módulo llamado Setuptools"


284

Tengo problemas para instalar paquetes en Python 3.

Siempre he instalado paquetes con setup.py install. Pero ahora, cuando intento instalar el paquete ansicolors obtengo:

importador "Ningún módulo llamado Setuptools"

No tengo idea de qué hacer porque no tenía las herramientas de instalación instaladas en el pasado. Aún así, pude instalar muchos paquetes setup.py installsin herramientas de configuración. ¿Por qué debería obtener las herramientas de configuración ahora?

Ni siquiera puedo instalar setuptools porque tengo Python 3.3 y setuptools no es compatible con Python 3.

¿Por qué mi comando de instalación ya no funciona?

Respuestas:


534

Tu setup.pyarchivo necesita setuptools. Algunos paquetes de Python solían usarse distutilspara distribución, pero la mayoría ahora usa setuptoolsun paquete más completo. Aquí hay una pregunta sobre las diferencias entre ellos.

Para instalar setuptoolsen Debian:

sudo apt-get install python3-setuptools

Para una versión anterior de Python (Python 2.x):

sudo apt-get install python-setuptools

1
gracias por esta publicación ... me ayudó mucho ... Muchas personas aconsejan herramientas de configuración, pero no es posible instalar en py3.3 ... la distribución funciona como un encanto
piggy

22
Tuve que instalarlo con "python3" para que funcione:sudo apt-get install python3-setuptools
D.Steinel

1
Lo instalé python3 python3-pip python3-setuptoolsy funcionó. Gracias.
warchantua

3
Por alguna razón en Ubuntu 18.04 no funciona con apt-get install python3-setuptools.
loretoparisi

1
@loretoparisi Tengo el mismo problema, ¿encontraste una solución para ubuntu 18.04?
Scott,

92

EDITAR: Página oficial de setuptools dox :

Si tiene Python 2> = 2.7.9 o Python 3> = 3.4 instalado desde python.org, ya tendrá herramientas de configuración y pip, pero deberá actualizar a la última versión:

En Linux u OS X:

pip install -U pip setuptools 

En Windows:

python -m pip install -U pip setuptools

Por lo tanto, el resto de esta publicación probablemente esté obsoleto (por ejemplo, algunos enlaces no funcionan).

Distribuir : es una bifurcación de herramientas de configuración que "ofrece soporte para Python 3". Instrucciones de instalación para distribuir (herramientas de configuración) + pip:

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

Problema similar aquí .

ACTUALIZACIÓN: Distribuir parece estar obsoleto, es decir, fusionado en Setuptools: Distribuir es una bifurcación en desuso del proyecto Setuptools. Desde la versión Setuptools 0.7, Setuptools y Distribute se han fusionado y Distribute ya no se mantiene. Todo el esfuerzo en curso debe hacer referencia al proyecto Setuptools y la documentación de Setuptools.

Puede probar con las instrucciones que se encuentran en la página pypi de setuptools (no he probado esto, lo siento :():

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

1
Muchas gracias, no estoy seguro de cómo esto resolvió mi problema, pero lo hizo. ¡instantáneamente! Estaba teniendo serios problemas tratando de instalar distribuir. Esto debe haber forzado de alguna manera la instalación, ya sudo pip install distributeque no funcionaría. Mis problemas están documentados en stackoverflow.com/questions/16846742/…
Deduzca

1
Esto funciona multiplataforma (Win), mientras que la respuesta aceptada no es aplicable. ¡Gracias!
fundead

En serio, este tipo necesita más crédito del que él le ha dado. Acaba de
salvarme el

1
Las URL ya no son válidas ... ¿podría verificar?
mebada

22

Estaba haciendo esto dentro de un virtualenv en Oracle Linux 6.4 usando python-2.6, por lo que las soluciones basadas en apt no eran una opción para mí, ni las ideas de python-2.7. Mi solución fue actualizar mi versión de setuptools que virtualenv había instalado:

pip install --upgrade setuptools

Después de eso, pude instalar paquetes en virtualenv. Sé que esta pregunta ya ha seleccionado una respuesta, pero espero que esta respuesta ayude a otros en mi situación.


1
Tenga en cuenta que tenía problemas "No se pueden eliminar las entradas del archivo inexistente ..." Al agregar --ignore-instaló el comando anterior se solucionó eso.
Kiki Jewell

10

pip uninstall setuptools

y entonces:

pip install setuptools

Esto funciona para mí y soluciona mi problema.


¡Esto funcionó para mí! De alguna manera, mi setuptools era una versión anterior 28.8. Esta desinstalación y reinstalación lo obligaron a actualizar a la versión 48. Y luego todo funcionó bien.
Joseph Lee el

4

El distributepaquete proporciona una versión compatible con Python 3 de setuptools: http://pypi.python.org/pypi/distribute

Además, use pippara instalar los módulos. Encuentra automáticamente las dependencias y las instala por usted.

Me funciona bien con su paquete:

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

He dado una solución completa aquí para python selenium 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

La herramienta recomendada por PyPA para instalar y administrar paquetes de Python es pip. pipse incluye con Python 3.4 ( PEP 453 ), pero para versiones anteriores, aquí se explica cómo instalarlo (en Windows):

Descargar 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

Hace unos años heredé un proyecto de Python (2.7.1) que se ejecutaba en Django-1.2.3 y ahora me pidieron que lo mejorara con posibilidades de QR. Tengo el mismo problema y tampoco encontré pip o apt-get. Entonces lo resolví de una manera totalmente diferente pero fácil. I / bin / vi-ed el setup.py y cambié la línea "de setuptools import setup" a: "from distutils.core import setup" Eso lo hizo por mí, así que pensé que debería publicar esto para otros usuarios que ejecutan pitones viejos . Saludos, Roger Vermeir

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.