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.
También puede recibir el mismo error al instalar algunos paquetes R si R se instaló usando conda (como yo tenía).
Luego simplemente instale el paquete ejecutando: conda install gxx_linux-64
para tener ese comando disponible.
Fuente: https://github.com/RcppCore/Rcpp/issues/770#issuecomment-346716808