如何强制 Conda 使用在 /usr/bin/gcc 找到的 gcc?

如何强制 Conda 使用在 /usr/bin/gcc 找到的 gcc?

在 Ubuntu 18.04 上我运行which gcc并且输出符合预期。

ubuntu@USER1:~$ which gcc
/usr/bin/gcc

但是,当我激活我的conda环境并运行时which gcc,我得到:

(tensorflow_p36) ubuntu@USER1:~$ which gcc
/home/ubuntu/anaconda3/envs/tensorflow_p36/bin/gcc

这个位置对我来说似乎很奇怪。我想使用正常的系统范围gcc

我知道这不是默认行为,因为在我的其他 Ubuntu 实例中运行时which gcc输出是正确的:

(tensorflow_p36) ubuntu@USER2:~$ which gcc
/usr/bin/gcc

我怎样才能conda使用gcc如图所示的默认值USER2


编辑:

USER1实例:conda 4.5.12

(tensorflow_p36) ubuntu@USER1:~$ gcc -v
Reading specs from /home/ubuntu/anaconda3/envs/tensorflow_p36/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.5/specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/ubuntu/anaconda3/envs/tensorflow_p36/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.5/lto-wrapper
Target: x86_64-unknown-linux-gnu
Thread model: posix 
gcc version 4.8.5 (GCC)

ubuntu@USER1:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Thread model: posix
gcc version 8.3.0 (Ubuntu 8.3.0-6ubuntu1~18.04.1) 

答案1

根据https://docs.conda.io

Anaconda 5.0 从操作系统提供的编译器工具切换到我们自己的工具集。这可以提高编译器的功能,包括更好的安全性和性能。本页介绍了如何使用这些工具并实现这些优势。

你必须删除gcc由 提供的conda。为此,使用conda remove gcc_linux-64。验证使用要确认包已被删除:conda list现在,关闭终端并重新检查

相关内容