5

在使用 pip 在 Python 中安装软件包时,我遇到了以下错误:

unable to execute gcc-4.2: No such file or directory

显然,pip 正在尝试使用不在任何二进制目录(即 /usr/bin)中的 gcc-4.2。在浏览了这个站点和其他站点之后,我发现许多其他站点都遇到了同样的问题。但是,gcc 在 OS X Lion 中更新到 4.2 版,这不是版本问题,相反,gcc 在 /usr/bin 下只是称为 gcc,而不是 gcc-4.2,并且符号链接到 llvm-gcc。在 /usr/bin 中添加 gcc-4.2 作为 gcc 的符号链接后,pip 能够成功安装所有内容。那么为什么 pip 正在寻找 gcc-4.2 而不是 gcc?这是 pip、OS X Lion 或 pip 中试图用 gcc-4.2 安装自己的包的错吗?

最后,在这种情况下,我的符号链接黑客是正确的做法,还是我应该以其他方式解决这个问题?

4

2 回答 2

6

您的 simlink hack 是目前正确的解决方案。最终,为平台支持 pip 的人需要停止以这种方式使用编译器的显式版本。一开始这是一个坏主意,而且随着平台上的编译器的变化只会变得更糟。

与 Milad 的回答相反,在主机编译器中确定版本还有其他解决方案,您的解决方案将一直有效,直到平台上支持 pip 的人修复他们的代码。

于 2012-01-15T22:42:35.860 回答
0

You symlink hack 是适合的解决方案。pip 只是试图确保使用正确版本的 GCC 安装它。由于您的计算机配备了该版本,因此您可以安全地将其指向可用的 gcc 作为它正在寻找的版本。但是,如果你有 gcc-4.1,你的安装可能会出现在不应该出现的地方。

于 2012-01-15T01:13:31.353 回答