Ist die Installation psycopg2
in einem virtualenv
MacBook Pro mit OS X 10.6 möglich, wenn PostgreSQL nicht auf meinem Entwicklungssystem installiert ist?
Wenn ich pip install psycopg2
aus meinem heraus laufe virtualenv
, habe ich den unten gezeigten Fehler erhalten.
Ich versuche, mit Django eine Verbindung zu einer Legacy-Datenbank auf einem Server herzustellen, und ich würde es vorziehen, PostgreSQL nach Möglichkeit nicht auf meinem Entwicklungssystem zu installieren.
Warum nicht PostgreSQL installieren?
Bei der Installation von PostgreSQL mit Homebrew ist ein Fehler aufgetreten. Ich habe Xcode4 - und nur Xcode4 - auf meinem MacBook Pro installiert und denke, dass dies mit dem Fehlen von gcc 4.0 zusammenhängt. Dies ist jedoch ein Problem für eine andere StackOverflow-Frage.
Update 8:37 Uhr am 12. April 2011: Ich möchte immer noch wissen, ob dies möglich ist, ohne PostgreSQL auf meinem MacBook Pro zu installieren. Ich lief jedoch brew update
und erzwang eine Neuinstallation von ossp-uuid mit brew install --force ossp-uuid
und brew install postgresql
funktioniert jetzt . pip install psycopg2
Nachdem PostgreSQL erfolgreich installiert wurde, konnte ich es aus meiner virtuellen Umgebung heraus tun.
Fehler von pip install psycopg2
$ pip install psycopg2
Downloading/unpacking psycopg2
Running setup.py egg_info for package psycopg2
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
Complete output from command python setup.py egg_info:
running egg_info
writing pip-egg-info/psycopg2.egg-info/PKG-INFO
writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
warning: manifest_maker: standard file '-c' not found
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /Users/matthew/.pip/pip.log
Vorläufige Nachforschung
Nachfolgend sind die Artikel aufgeführt, die ich als vorläufige Recherche gelesen habe:
quelle
export PATH=/usr/pgsql-9.1/bin:"$PATH"
Antworten:
psycopg hängt vom
pg_config
Befehl ab, und wenn Sie ihn nicht haben, können Sie psycopg nicht installieren.Wenn die Systeminstallation für Sie ein Problem darstellt, warum versuchen Sie nicht, PostgreSQL zu kompilieren und generierte bin-Dateien in Ihren $ PATH aufzunehmen? Mögen:
quelle
locate postgres
kann helfen, den Pfad zu Ihrem kompilierten postgreSQL-Bin zu findenhat mir beim Debian Squeeze geholfen
quelle
apt-get install python-dev
auch.quelle
export
Zeilen haben es für mich gelöst.hat mir auch beim Debian Squeeze geholfen. Danach installieren Sie psycopg2. Ich hatte das Problem, dass pg_config kein Problem gefunden hat, als ich meine Umgebung auf Heroku eingerichtet habe. Jetzt funktioniert es einwandfrei.
quelle
Sie müssen das
python-dev
Paket installieren , um Python-Erweiterungen wie zpsycopg2
. Ich weiß nicht, wie man Pakete auf einem Mac installiert, aber ich führe die folgenden Befehle aus, um ein Python-Paket auf meinem Ubuntu-Computer zu installieren.Oder
wenn Sie Python3.x verwenden.
Führen Sie nach Abschluss der Installation den folgenden Befehl in Ihrer virtuellen Umgebung aus.
quelle
Sie müssen nicht das vollständige PostgreSQL installieren: Sie benötigen nur die clientseitigen Bibliotheken.
quelle
Ich habe es in MAC OSX gelöst mit:
quelle
pip install psycopg2-binary
Mit der Methode, die Sie in Ihrem Update vom 12. April beschrieben haben, konnte ich PostgreSQL (+1) installieren. Beachten Sie, dass ich ursprünglich Python 2.7.1 (32 Bit) ausgeführt habe und Homebrew mehrere Fehler und Warnungen bezüglich der Verwendung einer 32-Bit-Version von Python ausgegeben hat. Ich habe seitdem die 64/32 Bit Version von 2.7.1 gewechselt und es funktioniert wie ein Champion.
In Bezug auf das pyscopg2 konnte ich es von der Quelle aus in meine virtuelle Umgebung installieren, indem ich setup.cfg bearbeitete. Ich habe pg_config so eingestellt, dass der Pfad im Keller von Homebrew korrigiert wird (pg_config = / usr / local / Cellar / postgresql / 9.0.4 / bin / pg_config). Nachdem ich die Änderungen gespeichert hatte, führte ich python setup.py install ohne Probleme aus. Es ist erwähnenswert, dass ich die Standard-Python-Einstellung des Mac nicht auf 32 Bit eingestellt habe. Ich habe das neue 64-Bit von Anfang bis Ende verwendet.
Nachdem ich mir einige Dokumentationen angesehen habe, denke ich, wenn ich den postgresql-Pfad von homebrew zum Systempfad hinzugefügt hätte, hätte ich pip verwenden können, um ihn zu installieren.
Referenz:
http://favosdream.blogspot.com/2009/09/make-psycopg2-and-readline-work-in-snow.html
Update 6-8-2011:
Beim Portieren eines unter OS X geschriebenen Projekts nach Windows 7 stellte ich fest, dass ich PostgreSQL auch unter Windows installieren musste. Dies führte dazu, dass ein anderer Benutzer auf meinem Startbildschirm erstellt wurde und andere Dinge, die mir einfach nicht gefallen haben. Beim Graben habe ich hier Windows-Treiber für PostgreSQL gefunden . Ich habe seitdem das vollständige PostgreSQL deinstalliert und die ODBC-Treiber installiert, die bisher hervorragend funktionieren.
Um die ursprüngliche Frage zu beantworten, habe ich nach einigem Graben hier den entsprechenden ODBC für OS X gefunden . Ich hatte noch keine Gelegenheit, sie auszuprobieren, aber das Konzept funktioniert unter Windows 7 sehr gut. Ich werde es aktualisieren, wenn ich die Möglichkeit habe, sie auszuprobieren. Bis dahin hoffe ich, dass dies hilft.
quelle
Da ich die postgresql-Datenbank nie auf diesem Server installieren musste, habe ich die folgenden Bibliotheken unter Ubuntu 14_04 installiert, bevor pip install psycopg2 auf demselben Server ausgeführt wurde
apt-get installiert libpq-dev python-dev und führt dann pip install psycopg2 in der virtuellen Umgebung aus.
Ausgabe Sammeln von psycopg2 Verwenden von zwischengespeichertem psycopg2-2.6.1.tar.gz Erstellen von Rädern für gesammelte Pakete: psycopg2 Ausführen von setup.py bdist_wheel für psycopg2 Gespeichert im Verzeichnis: /root/.cache/pip/wheels/e2/9a/5e/7b620848bbc7f2cfcafc Psycopg2 erstellt Gesammelte Pakete installieren: Psycopg2 Psycopg2-2.6.1 erfolgreich installiert
quelle
Verwenden Sie
pip install psycopg2-binary
, es hat bei mir funktioniert, wennpip install psycopg2
es nicht funktioniert hat.quelle
Alles von oben funktioniert bei mir nicht (OS Catalina 10.15.1)
Es gab einen Konflikt mit Klassik
postgres
undhomebrew
Version. Bitte löschen Sie die Homebrew-Version per Befehlund installieren Sie es dann von der offiziellen Website :
Es ist aktuell für eine einfache
psycopg2
Installation oder eindjango-heroku
Paket.quelle
Ich weiß, dass Sie nach einer Entwicklungsumgebung fragen, aber wenn Sie auf einem Server bereitstellen, sagen Sie Heroku. Fügen Sie einfach die folgende Zeile in die Anforderung.txt Ihres Projekts ein.
django-heroku == 0.3.1
Da dieses Paket selbst die erforderlichen Pakete wie psycopg2 bei der Serverbereitstellung installiert .
quelle
Ich habe dieses Problem zufällig gelöst mit:
brew install psycopg2
anstatt
pip install psycopg2
quelle