No se pueden instalar los módulos de Python después de instalar Anaconda

[Nueva nota: no puedo instalar a través de binstar o anaconda. ¿Por qué no puedo instalar en python, fuera de anaconda? ¿Hay alguna manera de hacer que mi computadora deje de usar la instalación de python de anaconda cuando no la apago específicamente a través del lanzador de continuidad?]

Tengo una instalación de Python 2.7 en una máquina con Windows. Recientemente instalé Anaconda, además.

Acabo de intentar instalar un nuevo módulo para mi instalación de Python. Abrí un indicador de comando en una carpeta descomprimida para un módulo de python y ejecuté:

python setup.py install

Sin embargo, experimenté un error en la línea de comstackción:

extensión del edificio ‘pyodbc

La última línea de error dice:

error: el comando ‘gcc’ falló con el estado de salida 1

Parece haber buscado y no encontrado varios archivos o directorios. Por ejemplo, recibí varias (7) líneas de error como:

gcc.exe: error: / Wall: No existe tal archivo o directorio

Tengo la corazonada de que la instalación de Anaconda está alterando mis variables PATH (o algo así), pero es solo una corazonada.

Gracias amablemente

Puedes intentar encontrar a alguien que haya creado este paquete en binstar , que es el sitio de alojamiento de paquetes para Anaconda.

Encontré https://binstar.org/dhirschfeld/pyodbc/3.0.7/files , que puede funcionar para usted si tiene Windows de 64 bits. Puede probar conda install -c https://conda.binstar.org/dhirschfeld pyodbc .

Parece que ha descargado la fuente de PyODBC y contiene algún código que debe comstackrse (C / C ++). Su error se refiere al hecho de que no tiene instalado gcc (un comstackdor).

Puede instalar mingw32 o gcc (a través de cygwin) para comstackr e instalar el módulo, pero lo más fácil es descargar el instalador ODBC para Windows desde su sitio de Google Code.

Su problema es que no tiene un comstackdor de C ( gcc es un comstackdor de C), que es necesario para que se instale el paquete que descargó. Este problema es completamente independiente de Anaconda.

Sus opciones son:

  • Instale un comstackdor de C y luego genere las fonts de paquetes que descargó (a través del comando setup.py de python)
  • Encuentra una versión precomstackda del paquete.

No dijiste en qué plataforma estás. Sospecho que está en una Mac o en Windows, ya que la mayoría de las instalaciones de Linux tienen un comstackdor C en funcionamiento.

Si está usando una Mac, instale Xcode a través de la App Store. Esta es la forma general recomendada de obtener un comstackdor de C en Mac OS X.

Si está en Windows, debe instalar el paquete MinGW a través de:

 conda install mingw 

Entonces puedes intentar hacer “python setup.py install”.

Por cierto, las dificultades con las que se encuentra al crear paquetes son comunes, y es por eso que las personas usan una distribución como Anaconda, en lugar de luchar con los problemas de construcción por su cuenta. Si solo quiere usar Anaconda parte del tiempo y su sistema Python, puede configurar su variable PATH editando ~/.bash_profile y comentando la línea en la parte inferior, lo que agrega anaconda/bin/ a su ruta. .

Administrar paquetes en dos instalaciones diferentes de Python te va a causar más dolores de cabeza de lo que generalmente vale la pena. Recomendaría usar Anaconda, a menos que tenga una buena razón para seguir con el sistema Python.

Enthought proporciona descargas de paquetes PyODBC predefinidos en su repository para las plataformas estándar. Sin embargo, necesitará una suscripción para acceder a este paquete (esta no es parte de la versión gratuita de Canopy Express). Si usted es miembro de la facultad o estudiante, entonces puede obtener una suscripción académica gratuita: https://www.enthought.com/products/canopy/academic/

Sugiero intentar “conda instalar” + PackageName. Si falla la instalación usando conda, puede saltar automáticamente a usar pip con éxito.

Echa un vistazo a mi respuesta aquí. https://stackoverflow.com/a/21764422/129600

Básicamente, al código fuente de pyodbc le faltan cosas / tiene otras cosas desactualizadas, por lo que la solución allí mencionada debería funcionar para usted.