在 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
Anaconda 5.0 从操作系统提供的编译器工具切换到我们自己的工具集。这可以提高编译器的功能,包括更好的安全性和性能。本页介绍了如何使用这些工具并实现这些优势。
你必须删除gcc
由 提供的conda
。为此,使用conda remove gcc_linux-64
。验证使用要确认包已被删除:conda list
现在,关闭终端并重新检查