Nie zapominaj, że zmienna $ PATH w środowisku wirtualnym! = Twoja globalna zmienna $ PATH. Możesz to potwierdzić za pomocą 'echo $ PATH' w swoim virtualenv, a także w nowej powłoce. Tak więc, jeśli nie chcesz zainstalować PostgreSQL jako unikalnej instancji w swoim wirtualnym środowisku (nie jest to rzecz warta robienia, imo), będziesz musiał zmodyfikować zmienną $ PATH w virtualenv, aby uwzględnić ścieżkę do swojej globalnej instalacji (która Rozwiąż brakujący błąd pg_config).
Oto kroki:
1.) W nowej powłoce wpisz „which pg_config”. To zwróci ścieżkę. Skopiuj to. W moim przypadku ścieżka wyglądała tak: /Applications/Postgres.app/Contents/Versions/9.3/bin
2.) Z powrotem w powłoce virtualenv wpisz „export PATH = / twoja-ścieżka-do-pg_config: $ PATH”
3.) Następnie, nadal w virtualenv, „pip install psycopg2”
Jeśli wszystko pójdzie zgodnie z planem, spowoduje to zainstalowanie psycopg2 w środowisku wirtualnym, ale instalacja będzie się odnosić do instalacji Global PostgreSQL. W moim przypadku ta globalna instalacja została zainstalowana przez Postgres.App, stąd ścieżka. Wolę tę metodę pracy z psycopg2, ponieważ oznacza to, że mogę łatwo korzystać z bazy danych w dowolnym virtualenv, a nie tylko w zdefiniowanym środowisku wirtualnym.
Mam nadzieję, że pomoże to każdemu, kto tu przyjedzie. W przypadku Google Juice, oto wyraźny (i niejasny) język błędu zwracany po napotkaniu tego problemu:
Polecenie python setup.py egg_info nie powiodło się z kodem błędu 1