【发布时间】:2020-09-04 15:55:25
【问题描述】:
如何确保gcc 指向特定的编译器?我可以建立到gcc 的xcode 版本的永久符号链接吗?
我的系统上安装了多个版本的gcc 编译器,包括
`gcc-11` found at `/usr/local/gcc-10/share` (compiled from source following these [instructions][1])
`gcc-9.3.0` found at `/usr/local/Cellar/gcc/9.3.0_1/share`
`gcc-4.8.5` found at `/Users/PatrickT/miniconda/pkgs/gcc-4.8.5-8/share`
默认版本是gcc-4:
gcc --version
gcc (GCC) 4.8.5
which gcc
/Users/PatrickT/miniconda/bin/gcc
gcc 的这个 miniconda 版本不适合我。如果我从 PATH 中删除 miniconda,我的系统将恢复到另一个版本的 gcc 并且一切都按预期工作。但是,我确实使用了 miniconda 的 Python,因此希望将其保留在我的 PATH 中。在我的.zhrc 配置文件中(显然,MacOS Catalina 已将.bashrc 移动到.zhrc),我有:
export PATH="/Users/PatrickT/miniconda/bin:$PATH"
export PATH="/usr/local/bin:$PATH"
export PATH="/usr/local/Cellar/gcc:$PATH"
export PATH="/usr/local/gcc-10/bin:$PATH"
我尝试更改这些行的顺序,但没有任何区别:miniconda 的 gcc 仍然是默认编译器,除非我完全删除第一行,但是...我无法使用 conda 的Python!
背景:我没有直接使用gcc,但我似乎需要它来编译某些脚本。我有xcode 命令行工具和xcode 应用程序,如果这很重要的话。我使用的是 MacOS Catalina 10.15.4。
【问题讨论】:
-
您的问题是一个完美的例子,为什么通过
conda init <shell-name>提供conda 比直接将<miniconda-root>/bin添加到您的路径更可取。 :-) -
我必须承认我对 spyder 发现 conda 环境的机制不是很熟悉,但我相当有信心它可以很好地与新的
conda init使 conda 可用的方式一起工作。请注意,使 conda 可用的首选方法是将<miniconda-root>/bin放入 PATH 中,这就是您在那里找到评论的原因。详情请见docs.conda.io/projects/conda/en/latest/user-guide/tasks/…。 -
@cel,感谢您的提示。通过删除和重新安装编译器和 Python 发行版,我已经尽可能地清理了我的系统。查找和删除/更改旧事物的符号链接需要花费大量时间。我目前正在使用 conda 环境,但我不确定这有多大帮助...... Anaconda/Miniconda 文档建议设置环境而不添加到 PATH,但随后它抱怨您必须运行
conda init和这将 conda 放在 PATH 上。哦,好吧...
标签: xcode gcc anaconda macos-catalina