2014-09-22 12 views
6

Mam problemy z instalowaniem pakietów Pythona za pomocą pip w virtualenv. Po pewnych badaniach okazuje się, że istnieje problem z PyYaml. Pobrałem ostatnią wersję i próbowałem ją zbudować. Podczas korzystania z python "system", nie ma problemu. Jednak, gdy próbuję uruchomić tego samego polecenia (python setup.py install) po aktywacji moje virtualenv, pojawia się następujący błąd:Konfiguracja PyYaml z pyenv na Mac OS X; nie znaleziono pliku: python.exe

gcc -bundle -bundle_loader python.exe -L/usr/local/opt/readline/lib -L/usr/local/opt/readline/lib - L/Users/a/.pyenv/versions/2.7.7/lib build/temp.macosx-10.10-x86_64-2.7/ext/_yaml.o -lyaml -o  build/lib.macosx-10.10-x86_64-2.7/_yaml.so 
ld: file not found: python.exe 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
error: command 'gcc' failed with exit status 1 

nie mam pojęcia, gdzie to pochodzi od ... jakiś trop?

Odpowiedz

2

Wpadłem na ten sam problem używając pyenv. Brudna sposób mam go zainstalować używał

CC=/path/to/virtualenv_dir/bin/python2.7 /path/to/virtualenv_dir/bin/pip install pyyaml 

Jeśli używasz pyenv można również użyć

CC=$(which python) pip install pyyaml 
+1

Czy możesz wyjaśnić, dlaczego to działa? Wygląda to szalenie, ponieważ Python nie kompiluje kodu C. – Andrei

2

Jak omówiono w pyenv#273 problem dzieje się po zainstalowaniu Python 2.7.8 na < System operacyjny Mac.

można go naprawić samemu:

$ export p=/Users/andrei/.pyenv/versions/2.7.6 
$ sed -i -e "s#python.exe#${p}/bin/python2.7#g" "$p/lib/python2.7/_sysconfigdata.py" 

Przykładem jest dla 2.7.6, wymień jeśli trzeba wersję 2.7.7 itp

Jeśli nie używać pyenv zmień ścieżkę do miejsca przechowywania Pythona.