web-dev-qa-db-fra.com

impossible d'exécuter 'x86_64-conda_cos6-linux-gnu-gcc': Aucun fichier ou répertoire de ce type (installation pysam)

J'essaie d'installer pysam.

Après avoir exécuté:

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

Cette erreur est produite:

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

Il existe des threads similaires, mais ils semblent tous résoudre le problème des droits d'administrateur, que je n'ai pas. Existe-t-il un moyen d'installer les fichiers nécessaires?

AVIS DE NON-RESPONSABILITÉ: Cette question provient d'un précédent poste de la mienne. installation manuelle de l'erreur pysam: "ImportError: Aucun module nommé version" Mais comme cela pourrait nécessiter une approche différente, je l'ai fait lui-même une question.

16
Sergio.pv

Il semble qu'Anaconda ait une nouvelle version (4.3.27) qui définit le chemin du compilateur C sur un exécutable inexistant (un bug assez embarrassant; je suis sûr qu'ils le corrigeront bientôt). J'ai eu un problème similaire avec l'installation de pip en utilisant la dernière Miniconda, que j'ai corrigée en utilisant la version 4.3.21 et en m'assurant que je ne faisais pas quelque chose comme conda update conda.

Voir https://repo.continuum.io/miniconda/ qui a des dates de sortie et des versions.

14
Jon Riehl

Vous pouvez également recevoir la même erreur lors de l'installation de certains packages R si R a été installé à l'aide de conda (comme je l'ai fait).

Ensuite, installez simplement le package en exécutant: conda install gxx_linux-64 pour que cette commande soit disponible.

Source: https://github.com/RcppCore/Rcpp/issues/770#issuecomment-346716808

7
MF.OX

Il devrait maintenant être sûr de mettre à jour conda. Ceci est corrigé dans les packages python pour 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

Le problème était comme Jon Riehl l'a décrit - nous (Anaconda, anciennement Continuum) construisons tous nos packages avec un nouveau package GCC que nous avons créé en utilisant crosstool-ng. Ce paquet n'a pas gcc, il a un préfixe gcc - la commande manquante que vous voyez, x86_64-conda_cos6-linux-gnu-gcc. Cela se transforme en python, et toute extension construite avec cela python va chercher ce compilateur. Nous avons résolu le problème en utilisant la variable _PYTHON_SYSCONFIGDATA_NAME qui a été ajoutée à python = 3.6. Nous l'avons rétroporté à python 2.7 et 3.5. Vous ne verrez désormais que python en utilisant des compilateurs par défaut (gcc), et vous devez définir le _PYTHON_SYSCONFIGDATA_NAME sur le nom de fichier approprié pour utiliser les nouveaux compilateurs. La définition de cette variable est quelque chose que nous mettrons dans les scripts d'activation du package du compilateur, vous n'aurez donc jamais à vous en préoccuper. Cela peut nous prendre un jour ou deux pour sortir de nouveaux packages de compilateur, alors, postez les problèmes sur le tracker de problèmes de construction de conda si vous souhaitez utiliser les nouveaux compilateurs et avez besoin d'aide pour commencer.

Les changements de code pertinents sont à:

2
msarahan