PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Pourquoi ne puis-je pas installer psycopg2 ? (Python 2.6.4, PostgreSQL 8.4, OS X 10.6.3)

(Voir les modifications ci-dessous pour votre question mise à jour )

Vous n'avez pas l'exécutable du compilateur "gcc4.0" sur votre machine, ou la bonne version, ou installé dans un emplacement que python ne peut pas trouver/utiliser. XCode/Outils de développement (qui incluent GCC ) doit se trouver sur vos DVD d'installation OSX d'origine.

Puisque vous êtes assez humble pour vous appeler un débutant, voici une pépite de sagesse... La résolution de cette erreur n'a vraiment rien à voir avec le développement Web back-end, car il s'agit de votre environnement de développement local (votre machine et tous les logiciels comme il est configuré et installé) qui est le problème. Le meilleur conseil que j'ai pour déchiffrer le charabia comme celui-ci est de commencer à googler des mots-clés pour des choses dont vous n'avez jamais entendu parler auparavant. Si j'étais à votre place, ce message d'erreur me crie "allez découvrir ce qu'est gcc4.0. Ensuite, quand je sais ce que c'est et ce qu'il fait, et pourquoi python en a besoin, alors je comprends pourquoi python ne peut pas le trouver sur mon ordinateur, puis je fais quelque chose." La satisfaction de résoudre ce genre de problèmes n'arrive pas à tout le monde, cependant, c'est certain.

La réponse à toutes ces questions est la suivante :psycopg2 est une extension python écrite en langage C. De nombreuses extensions pour python sont écrites en C, pas en python, car C est beaucoup plus optimisé que python ne le sera jamais. C'est ce dans quoi l'interpréteur python lui-même est écrit, en fait. Le code du langage C doit être compilé avant qu'il ne soit utilisable (contrairement au code python, qui est interprété ) et dans ce cas, le compilateur dont vous avez besoin est gcc4.0. Maintenant, peut-être que si vous utilisiez Windows ou Linux, la version compilée de psycopg2 était peut-être déjà disponible, et vous n'auriez pas besoin d'installer GCC, car vous n'auriez pas à le compiler pour l'utiliser (il serait déjà compilé pour tu). Mais, il semble que vous deviez le compiler vous-même sur OS X, et pour ce faire, vous avez besoin que le programme "gcc4.0" soit disponible dans le système PATH afin que le script de configuration que vous essayez d'exécuter puisse trouver et l'utiliser. Sous OS X, vous pouvez l'obtenir à partir des DVD d'installation d'origine livrés avec votre ordinateur. Insérez-les dans le lecteur et recherchez le programme d'installation des outils de développement. Une fois que vous l'avez installé, vous devriez alors pouvoir vérifier si le compilateur GCC 4.0 est installé en essayant d'exécuter la commande "gcc4.0" dans n'importe quelle fenêtre de console et voir s'il est installé et dans votre chemin.

Modifier pour votre mise à jour

Il semble que vous ayez maintenant une bonne installation du compilateur GCC 4.0 ! Bon travail. Lorsque vous voyez ceci :

>gcc4.0
i686-apple-darwin10-gcc-4.0.1: no input files

Cette sortie est le compilateur qui vous indique sa version exacte, puis vous dit que vous ne lui avez donné aucun paramètre, donc il ne fera rien pour vous. Ce qui est bien, puisque votre script d'installation psycopg2 va l'appeler, pas vous directement.

Ensuite, il semble que psycopg2 s'attend à ce que vous ayez également installé les bibliothèques de développement de serveur PostgreSQL. Puisque je vois que vous utilisez maintenant MacPorts, vous devriez pouvoir installer ces bibliothèques facilement avec cette commande :

sudo port install postgresql-server-devel

Cela devrait vous donner votre pg_config manquant exécutable recherché par le programme d'installation.

Tenez-nous au courant de vos progrès !