Почему установщик pip ожидает, что gcc-4.2 будет именем компилятора gcc в OS X Lion? - PullRequest
5 голосов
/ 15 января 2012

При установке пакетов в Python с использованием pip я обнаружил следующую ошибку:

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

Очевидно, что pip пытается использовать gcc-4.2, которого нет ни в одном из двоичных каталогов, а именно / usr/ бен.Посмотрев этот сайт и другие, я обнаружил, что многие другие страдают от той же проблемы.Тем не менее, gcc обновляется до версии 4.2 в OS X Lion, и это не проблема версии, скорее, gcc просто называется gcc, а не gcc-4.2, в / usr / bin и имеет символическую ссылку на llvm-gcc.После добавления gcc-4.2 в / usr / bin в качестве символической ссылки на gcc, pip смог успешно все установить.Почему же тогда pip ищет gcc-4.2, а не gcc?Это ошибка pip, OS X Lion или пакетов внутри pip, которые пытаются установить себя с помощью gcc-4.2?

Наконец, моя хакерская ссылка - правильное решение в этой ситуации, или я должен был исправить это каким-то другим способом?

Ответы [ 2 ]

6 голосов
/ 16 января 2012

Ваш взлом simlink - правильное решение на данный момент. В конечном счете, люди, которые поддерживают pip для платформы, должны прекратить использовать явные версии компилятора таким образом. Это была плохая идея с самого начала, и она будет только хуже, когда компиляторы на платформе меняются.

Вопреки ответу Милада, есть другие решения для определения версии в компиляторе хоста, и ваше решение будет работать, пока люди, которые поддерживают pip на платформе, не исправят свой код.

0 голосов
/ 15 января 2012

Ваш символ взлома является правильным решением для вас .pip просто пытается убедиться, что он устанавливается с использованием правильной версии GCC.Поскольку ваш компьютер оснащен этой версией, вы можете безопасно указать ему доступный gcc как тот, который он ищет.Но если, скажем, у вас был gcc-4.1, ваша установка могла бы пойти туда, где ее не должно быть.

...