linux python-2.7 gcc anaconda pysam

no se puede ejecutar ''x86_64-conda_cos6-linux-gnu-gcc'': no existe tal archivo o directorio(instalaciĆ³n pysam)



python-2.7 anaconda (4)

Estoy tratando de instalar pysam.

Después de la ejecución:

python path/to/pysam-master/setup.py build

Este error se produce:

unable to execute ''x86_64-conda_cos6-linux-gnu-gcc'': No such file or directory error: command ''x86_64-conda_cos6-linux-gnu-gcc'' failed with exit status 1

Hay hilos similares, pero todos parecen abordar el problema, asumiendo los derechos de administrador, que no tengo. ¿Hay alguna manera de instalar los archivos necesarios?

DESCARGO DE RESPONSABILIDAD: Esta pregunta deriva de una publicación anterior mía. manualmente instalé el error pysam: "ImportError: No hay un módulo llamado versión" Pero como podría requerir un enfoque diferente, hice una pregunta por sí misma.


Ahora debería ser seguro actualizar conda. Esto se soluciona en los siguientes paquetes de python para linux-64:

  • python-3.6.2-h0b30769_14.tar.bz2
  • python-2.7.14-h931c8b0_15.tar.bz2
  • python-2.7.13-hac47a24_15.tar.bz2
  • python-3.5.4-hc053d89_14.tar.bz2

El problema fue como lo describió Jon Riehl: nosotros (Anaconda, antes, Continuum) compilamos todos nuestros paquetes con un nuevo paquete GCC que creamos utilizando crosstool-ng. Este paquete no tiene gcc, tiene un prefijo gcc: el comando faltante que está viendo, x86_64-conda_cos6-linux-gnu-gcc . Esto se convierte en Python, y cualquier extensión construida con ese Python va en busca de ese compilador. Hemos solucionado el problema utilizando la variable _PYTHON_SYSCONFIGDATA_NAME que se agregó a Python 3.6. Hemos backported que a Python 2.7 y 3.5. Ahora solo verás Python usando compiladores predeterminados (gcc), y debes configurar _PYTHON_SYSCONFIGDATA_NAME con el nombre de archivo apropiado para que se utilicen los nuevos compiladores. Establecer esta variable es algo que pondremos en los scripts de activación para el paquete del compilador, por lo que nunca tendrá que preocuparse por ello. Sin embargo, nos puede llevar uno o dos días sacar nuevos paquetes de compiladores, por lo tanto, publique los problemas en el rastreador de problemas de conda-build si desea usar los nuevos compiladores y necesita ayuda para comenzar.

Los cambios de código relevantes están en:


En algún lugar de su $PATH (por ejemplo, ~/bin ), haga

ln -sf $(which gcc) x86_64-conda_cos6-linux-gnu-gcc

No coloque esto en un directorio del sistema o en el directorio bin de conda, y recuerde eliminar el enlace cuando el problema se resuelva en sentido ascendente. gcc --version debe ser la versión 6.

EDITAR: Entiendo el sentimiento en los comentarios en contra de manipular las rutas del sistema, pero tal vez podamos usar un poco de pensamiento crítico para el caso real en cuestión antes de recitar la doctrina. ¿Qué hemos hecho realmente con el comando anterior? Nada más que poner un ejecutable (enlace simbólico) llamado x86_64-conda_cos6-linux-gnu-gcc en su directorio personal ~/bin .

Si poner algo en el directorio personal de ~/bin rompió el futuro conda (después de que conda la ruta del compilador de C para que gcc incruste), eso sería un error con conda . ¿La existencia de este compilador verbalmente nombrado ensuciaría con otra cosa? Improbable tampoco. Incluso si algo lo detectó, es solo tu sistema gcc después de todo ...


Parece que Anaconda tenía una nueva versión (4.3.27) que establece la ruta del compilador de C en un ejecutable no existente (un error bastante vergonzoso; estoy seguro de que lo solucionarán pronto). Tuve un problema similar con la instalación de pip usando la última Miniconda, la cual solucioné utilizando la versión 4.3.21 y asegurándome de que no estaba haciendo algo como conda update conda .

Consulte https://repo.continuum.io/miniconda/ que tiene fechas y versiones de lanzamiento.