无法执行'x86_64-conda_cos6-linux-gnu-gcc':没有这样的文件或目录(pysam安装)

问题描述 投票:16回答:4

我正在尝试安装pysam。

执行后:

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

产生此错误:

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

有类似的线程,但它们似乎都解决了假设管理员权限的问题,我没有。有办法安装所需的文件吗?

免责声明:这个问题来自我以前的一篇文章。 manually installing pysam error: "ImportError: No module named version"但是因为它可能需要一种不同的方法,所以我把它作为一个问题。

linux python-2.7 gcc anaconda pysam
4个回答
14
投票

看起来Anaconda有一个新版本(4.3.27),它将C编译器路径设置为一个不存在的可执行文件(这是一个非常令人尴尬的bug;我相信他们很快就会解决它)。我使用最新的Miniconda有一个类似的问题,使用最新的Miniconda,我使用4.3.21版本修复并确保我没有像conda update conda那样做。

请参阅https://repo.continuum.io/miniconda/,其中包含发布日期和版本。


6
投票

如果使用conda安装了R,那么在安装某些R软件包时也会收到相同的错误(就像我一样)。

然后只需执行以下命令安装包:conda install gxx_linux-64即可使用该命令。

资料来源:https://github.com/RcppCore/Rcpp/issues/770#issuecomment-346716808


2
投票

现在更新conda应该是安全的。这在linux-64的以下python包中修复:

  • Python的-362-H 0 b3076914tarabya
  • Python的-2714-H 931的C 8 b015tarabya
  • Python-2.7.13-laughter 47-24_15
  • 蟒蛇-3.5.4-hc053d89_14.tar.bz2

这个问题就像Jon Riehl所描述的那样 - 我们(Anaconda,以前的Continuum)使用我们使用crosstool-ng创建的新GCC包来构建我们的所有包。这个软件包没有gcc,它有一个前缀gcc - 你看到的缺失命令,x86_64-conda_cos6-linux-gnu-gcc。这将被绑定到python中,并且使用该python构建的任何扩展都在寻找该编译器。我们已使用添加到python 3.6的_PYTHON_SYSCONFIGDATA_NAME变量修复了该问题。我们已将其移植到python 2.7和3.5。您现在只能使用默认编译器(gcc)看到python,并且必须将_PYTHON_SYSCONFIGDATA_NAME设置为适当的文件名才能使用新的编译器。设置此变量是我们将放入编译器包的激活脚本中的内容,因此您永远不必担心它。但是,我们可能需要一两天时间才能获得新的编译器包,因此,如果您想使用新的编译器并需要帮助入门,请在conda-build问题跟踪器上发布问题。

相关代码更改位于:


-3
投票

在你的https://github.com/anacondarecipes/python-feedstock某处(例如,$PATH),做

~/bin

不要将它放在系统目录或conda的bin目录中,并记住在上游解决问题时删除链接。 ln -sf $(which gcc) x86_64-conda_cos6-linux-gnu-gcc 应该是版本6。

编辑:我理解反对操纵系统路径的评论中的情绪,但也许我们可以在背诵教义之前对实际案例使用一点批判性思维。我们上面的命令实际上做了什么?没有什么比在一个人的gcc --version目录中放置一个名为x86_64-conda_cos6-linux-gnu-gcc的可执行文件(符号链接)。

如果把一些东西放在一个人的~/bin目录中打破了未来的~/bin(在它修复了C编译器路径指向它嵌入的conda之后),那么这将是gcc的一个错误。这个详细命名的编译器是否会与其他任何内容混淆?不太可能。即使有些东西确实捡起来,毕竟只是你的系统conda ......

© www.soinside.com 2019 - 2024. All rights reserved.