Я боролся с этим в течение нескольких дней и, наконец, понял, как заставить команду "pip install psycopg2" работать в virtualenv в Windows (под управлением Cygwin).
Я попал в "исполняемый файл pg_config не найден". ошибка, но я уже скачал и установил postgres в Windows. Он также установлен в Cygwin; запуск «which pg_config» в Cygwin дал «/ usr / bin / pg_config», а запуск «pg_config» дал вменяемый вывод - однако версия, установленная с Cygwin:
VERSION = PostgreSQL 8.2.11
Это не будет работать с текущей версией psycopg2, которая, по-видимому, требует как минимум 9.1. Когда я добавил «c: \ Program Files \ PostgreSQL \ 9.2 \ bin» в мой путь Windows, установщик Cygwin pip смог найти правильную версию PostgreSQL, и я смог успешно установить модуль с помощью pip. (В любом случае это, вероятно, предпочтительнее, чем использовать версию PostgreSQL для Cygwin, поскольку нативная версия будет работать намного быстрее).