无法执行 'x86_64-conda_cos6-linux-gnu-gcc': 没有那个文件或目录(pysam 安装)
unable to execute 'x86_64-conda_cos6-linux-gnu-gcc': No such file or directory (pysam installation)
我正在尝试安装 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
有类似的帖子,但它们似乎都解决了我没有的管理员权限问题。有没有办法安装所需的文件?
免责声明:这个问题来自我之前的 post。
但由于它可能需要不同的方法,我把它作为一个单独的问题。
看起来 Anaconda 有一个新版本 (4.3.27),它将 C 编译器路径设置为一个不存在的可执行文件(相当令人尴尬的错误;我相信他们会很快修复它)。我在使用最新的 Miniconda 安装 pip 时遇到了类似的问题,我通过使用 4.3.21 版本修复了这个问题并确保我没有做类似 conda update conda
.
的事情
请参阅 https://repo.continuum.io/miniconda/,其中包含发布日期和版本。
在您 $PATH
的某处(例如 ~/bin
),执行
ln -sf $(which gcc) x86_64-conda_cos6-linux-gnu-gcc
不要把这个放在系统目录或者conda的bin目录下,记得在上游解决问题的时候去掉link。 gcc --version
应该是版本 6。
编辑: 我理解评论中反对操纵系统路径的情绪,但也许我们可以在背诵教义之前对手头的实际案例使用一点批判性思维。我们实际上用上面的命令做了什么?无非是将一个名为 x86_64-conda_cos6-linux-gnu-gcc
的可执行文件 (symlink) 放在个人 ~/bin
目录中。
如果将某些东西放入个人 ~/bin
目录破坏了未来 conda
(在它修复 C 编译器路径以指向它嵌入的 gcc
之后),那么这将是一个错误conda
。这个冗长命名的编译器的存在会不会与其他任何东西混淆?也不太可能。即使确实有什么东西捡到了它,毕竟它只是你的系统 gcc
...
现在更新 conda 应该是安全的。这已在 linux-64 的以下 python 软件包中修复:
- 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
问题正如 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 问题跟踪器上提出 post 问题。
相关代码改动在:
如果 R 是使用 conda 安装的(就像我一样),那么在安装一些 R 包时也会收到同样的错误。
然后只需执行安装包即可:conda install gxx_linux-64
使该命令可用。
来源:
https://github.com/RcppCore/Rcpp/issues/770#issuecomment-346716808
对我有用的解决方案是使用 conda 安装 r 包:
conda install -c r r-tidyverse
或 r-gggplot2, r-readr
还要确保安装不会因为管理员权限而失败。
它会让你省去很多痛苦
我正在尝试安装 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
有类似的帖子,但它们似乎都解决了我没有的管理员权限问题。有没有办法安装所需的文件?
免责声明:这个问题来自我之前的 post。
看起来 Anaconda 有一个新版本 (4.3.27),它将 C 编译器路径设置为一个不存在的可执行文件(相当令人尴尬的错误;我相信他们会很快修复它)。我在使用最新的 Miniconda 安装 pip 时遇到了类似的问题,我通过使用 4.3.21 版本修复了这个问题并确保我没有做类似 conda update conda
.
请参阅 https://repo.continuum.io/miniconda/,其中包含发布日期和版本。
在您 $PATH
的某处(例如 ~/bin
),执行
ln -sf $(which gcc) x86_64-conda_cos6-linux-gnu-gcc
不要把这个放在系统目录或者conda的bin目录下,记得在上游解决问题的时候去掉link。 gcc --version
应该是版本 6。
编辑: 我理解评论中反对操纵系统路径的情绪,但也许我们可以在背诵教义之前对手头的实际案例使用一点批判性思维。我们实际上用上面的命令做了什么?无非是将一个名为 x86_64-conda_cos6-linux-gnu-gcc
的可执行文件 (symlink) 放在个人 ~/bin
目录中。
如果将某些东西放入个人 ~/bin
目录破坏了未来 conda
(在它修复 C 编译器路径以指向它嵌入的 gcc
之后),那么这将是一个错误conda
。这个冗长命名的编译器的存在会不会与其他任何东西混淆?也不太可能。即使确实有什么东西捡到了它,毕竟它只是你的系统 gcc
...
现在更新 conda 应该是安全的。这已在 linux-64 的以下 python 软件包中修复:
- 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
问题正如 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 问题跟踪器上提出 post 问题。
相关代码改动在:
如果 R 是使用 conda 安装的(就像我一样),那么在安装一些 R 包时也会收到同样的错误。
然后只需执行安装包即可:conda install gxx_linux-64
使该命令可用。
来源: https://github.com/RcppCore/Rcpp/issues/770#issuecomment-346716808
对我有用的解决方案是使用 conda 安装 r 包:
conda install -c r r-tidyverse
或 r-gggplot2, r-readr
还要确保安装不会因为管理员权限而失败。
它会让你省去很多痛苦