L'installation de psycopg2 en virtualenv quand PostgreSQL n'est pas installé sur le système de développement
Est-il possible d'installer psycopg2
dans un virtualenv
quand PostgreSQL n'est pas installé sur mon système de développement—MacBook Pro avec OS X 10.6?
Quand je lance pip install psycopg2
de l'intérieur de mon virtualenv
, j'ai reçu le message d'erreur indiqué ci-dessous.
Je suis en train d'essayer de se connecter à une base de données existante sur un serveur à l'aide de Django, et je préfère ne pas installer PostgreSQL sur mon système de développement, si possible.
Pourquoi ne pas installer PostgreSQL?
J'ai reçu un message d'erreur lors de l'installation de PostgreSQL à l'aide de homebrew. J'ai Xcode4—et seulement Xcode4—installé sur mon MacBook Pro et pense que c'est lié au manque de gcc 4.0. Cependant, c'est un problème pour un autre StackOverflow question.
Mise à jour 8:37 AM, le 12 avril 2011: je voudrais encore savoir si cela est possible sans l'installation de PostgreSQL sur mon MacBook Pro. Cependant, j'ai couru brew update
et forcé une réinstallation de ossp-uuid avec brew install --force ossp-uuid
et maintenant brew install postgresql
œuvres. Avec PostgreSQL installé avec succès, j'ai pu pip install psycopg2
de l'intérieur de mon virtualenv.
Erreur de 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
Recherche Préliminaire
Ci-dessous sont les articles que j'ai lu que la recherche préliminaire:
- L'installation de psycopg2 à l'utilisation de Django avec PostgreSQL sur OS X
- L'installation de psycopg2 sur OS X
- À l'aide de psycopg2 avec virtualenv sur Ubuntu JauntyLucid
- Postgres, psycopg2, virtualenv installer des astuces
- voir la bonne réponse ici: stackoverflow.com/questions/5420789/...
- à cette question la réponse est pour debian/ubuntu, afin de ne pas vous aider si vous utilisez osx.
- Sur Centos 6 et Postgres 9.1 définir le chemin d'accès correct à pg_config dans votre virtualenv:
export PATH=/usr/pgsql-9.1/bin:"$PATH"
- L'installation de PostgreSQL ne devrait pas être une exigence du développement de django. Nous avons besoin de le faire parce que notre requirements.txt pour le serveur de listes de psycopg sans nous jamais l'utiliser localement. C'est un peu trop serré et cause beaucoup de configuration de chagrin.
- Wow, pas une seule réponse à ce message concernant les spécificités d'un virtualenv sur Mac installation. Corrigez-moi si je me trompe.
- brew install postgresql a fonctionné pour moi aussi. Ce qui m'a jeté a été que j'ai eu la Heroku postgres93 application installée et en cours d'exécution en supposant que serait acceptable.
Vous devez vous connecter pour publier un commentaire.
psycopg dépend
pg_config
de commande, et si vous ne l'avez pas, vous ne pouvez pas installer psycopg.Si l'installation du système est un problème pour vous, pourquoi n'essayez-vous pas de la compilation de PostgreSQL et notamment généré des fichiers bin dans votre $PATH? Comme:
locate postgres
peut vous aider à trouver le chemin d'accès à votre compilé postgreSQL binm'a aidé sur debian squeeze
apt-get install python-dev
trop.m'a aidé dans debian squeeze trop . Après cela ne pip install psycopg2. J'ai été confrontés à un problème de pg_config pas trouvé de problème quand j'ai été la mise en place de mon environnement sur heroku , maintenant sa fonctionne bien .
Vous devez installer le
python-dev
paquet afin de rendre l'utilisation d'extensions python commepsycopg2
. Je ne sais pas comment installer des paquets dans mac mais je exécutez les commandes suivantes pour installer un paquet python sur ma machine Ubuntu.Ou
si vous utilisez Python3.x.
Une fois l'installation terminée, exécutez la commande suivante dans votre environnement virtuel.
Vous n'avez pas besoin de remplir PostgreSQL est installé: vous avez seulement besoin du côté client bibliothèques.
À l'aide de la méthode décrite dans votre, le 12 avril, la mise à jour, j'ai été en mesure d'installer PostgreSQL(+1). Notez que j'ai à l'origine, était en cours d'exécution Python 2.7.1 (32 bits) et homebrew a jeté plusieurs erreurs et avertissements concernant l'utilisation d'une version 32 bits de Python. Depuis, j'ai changé la 64/32 bits version 2.7.1 et il fonctionne comme un champion.
Concernant la pyscopg2, j'ai été capable de l'installer dans mon environnement virtuel à partir de la source en modifiant la configuration.cfg. J'ai mis pg_config de chemin d'accès correct à l'intérieur de homebrew de la Cave (pg_config=/usr/local/Cave/postgresql/9.0.4/bin/pg_config). Après avoir enregistré les modifications, j'ai couru python setup.py installer avec zéro problèmes. Il est intéressant de noter que je n'ai pas définir le Mac par défaut de python réglage de 32 bits. J'ai utilisé le nouveau 64 bits à partir de début à la fin.
Après la recherche sur une partie de la documentation, je pense que si j'ai ajouté homebrew de postgresql chemin le chemin d'accès système je pourrais avoir utilisé pip pour l'installer.
Référence:
http://favosdream.blogspot.com/2009/09/make-psycopg2-and-readline-work-in-snow.html
Mise à jour 6-8-2011:
Alors que le portage d'un projet écrit sur OS X à Windows 7, j'ai découvert que j'avais installer PostgreSQL sur Windows. Cela a fini par créer un autre utilisateur sur mon écran de démarrage et d'autres choses que je n'aimais pas. En faisant quelques recherches j'ai trouvé des pilotes Windows pour PostgreSQL ici. Depuis, j'ai désinstallé le plein de PostgreSQL et installé les pilotes ODBC qui, jusqu'à présent, de l'excellent travail.
Pour répondre à la question d'origine, après avoir fait un peu plus de creuser je pense que j'ai trouvé l'équivalent ODBC pour OS X ici. Je n'ai pas eu la chance de les essayer, mais le concept fonctionne très bien sur Windows 7. Je mettrai à jour ce lorsque je reçois une chance de les essayer. Jusqu'alors, j'espère que cette aide.
Je l'ai résolu en MAC OSX à l'aide de :
pip install psycopg2-binary
Que je n'ai jamais nécessaire à l'installation de postgresql base de données sur ce serveur j'ai installé les bibliothèques suivantes sur Ubuntu 14_04 version avant l'exécution des pip install psycopg2 sur le même serveur
apt-get install libpq-dev python-dev
et puis exécuté pip install psycopg2 dans virtual env.
De sortie
La collecte de psycopg2
À l'aide de mises en cache psycopg2-2.6.1.tar.gz
Construction roues pour collectées paquets: psycopg2
L'exécution de setup.py bdist_wheel pour psycopg2
Stockés dans le répertoire: /root/.cache/pip/roues/e2/9a/5e/7b620848bbc7cfb9084aafea077be11618c2b5067bd532f329
Construit avec succès psycopg2
L'installation recueillies paquets: psycopg2
Installé avec succès psycopg2-2.6.1