为什么我不能安装psycopg2?(Python2.6.4,PostgreSQL8.4,OS X10.6.3)
-
26-09-2019 - |
题
原始信息(现在已过时):
后运行的蟒蛇setup.py 安装我得到如下:
Warning: Unable to find 'pg_config' filebuilding 'psycopg2._psycopg' extension
gcc-4.0 -arch ppc -arch i386 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 - DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.2.1 (dt dec ext pq3)" -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DHAVE_PQPROTOCOL3=1 -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -I. -c psycopg/psycopgmodule.c -o build/temp.macosx-10.3-fat-2.6/psycopg/psycopgmodule.o
unable to execute gcc-4.0: No such file or directory
error: command 'gcc-4.0' failed with exit status 1
有可能是一些令人讶异显而易见的没有任何人知道的第一件事关于后端网节目,但不幸的是,它是所有官样文章给我。该psycopg2文件是不是有帮助的。
更新的初12月:更新后的所有是我的软件,错误信息已经改变。
现在,当我运行"蟒蛇setup.py 安装"我得到如下:
Warning: Unable to find 'pg_config' filebuilding 'psycopg2._psycopg' extension
gcc-4.0 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.2.1 (dt dec ext pq3)" -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DHAVE_PQPROTOCOL3=1 -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -I. -c psycopg/psycopgmodule.c -o build/temp.macosx-10.3-fat-2.6/psycopg/psycopgmodule.o
随后通过一个很长的名单的其他错误消息。
它可能或不可能相关的是,当我把"海湾合作委员会-4.0"为终端,它回来:
i686-apple-darwin10-gcc-4.0.1: no input files
更新的12:41GMT12月: 我以为macports安装工作,但当我试图运行的站点,它结束了与以下错误:
raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2
所以我想这意味着,psycopg2没有正确安装后所有。所以我回到了起点。
解决方案
我觉得你比现在更难。而不是在运行setup.py 直接,我建议让MacPorts为你做:
sudo port install py26-psycopg2
其他提示
(看看编辑下,用于更新后的问题)
你没有"gcc4.0"编译可执行在计算机上,或是正确的版本,或者安装在一个位置,蟒蛇不能找到的/使用。低/开发工具(这 包括海湾合作委员会)应该在你的原OS x安装的Dvd。
因为你卑微的足够自称是一个新手,这里是一个金块的智慧...解决这个错误真的没有回来-终端网络的发展,因为它是你的地方发展的环境(计算机和所有的软件,因为它是配置和安装)这就是问题所在。最好的小费我已经解密的官样文章一样,这是开始搜索关键字的东西,你从未听说过的。如果我们在你的鞋子,这种错误信息的尖叫我"去找出到底是什么gcc4.0.然后,当我知道它是什么,以及它做什么,以及为什么python需要它,然后我找出为什么蟒蛇不能找到它在我的电脑,然后我做些什么。" 满意解决这类问题不会发生每个人,虽然,这是一定的。
回答所有这些问题是这个:psycopg2是蟒蛇扩展,是写在C语言。一个很大的扩展蟒蛇都写在C、不蟒蛇,由于C更为优化的比python将永远不会。这就是蟒蛇的口译本身编写的,实际上。C语言编码具有以 编制 之前,它是可用(不同于代码,这是 解释)和在这种情况下,编译器你需要的是gcc4.0.现在,也许如果你使用Windows和Linux,汇编的版本psycopg2可能已经提供了,你就不需要海湾合作委员会安装了,你就不必编制它的使用(这将是汇编已经为您)。但是,它似乎只有来编制它自己关于OS X,要做到这一点,就需要程序"gcc4.0"可在系统路径,以便安装脚本你想跑可以找到并使用它。在OS X,你可以把它从你原始安装的Dvd该船舶与您的计算机。弹出他们在驱动器和发现开发工具安装的程序。一旦你得到了安装,则应能够检查,如果海湾合作委员会4.0编译器安装了通过试运行命令"gcc4.0"在任何控制台窗口,看看它是否安装和在在你的路径。
编辑更新
它看起来像你现在有一个安装好海湾合作委员会4.0编译器!好的工作。当你看到这个:
>gcc4.0
i686-apple-darwin10-gcc-4.0.1: no input files
产出是编译器告诉你确切的版本,然后告诉你,你给了它没有参数,因此,它不会为你做任何事情。这是好的,因为你psycopg2安装脚本是要称呼它,你不直接。
接下来,它看起来像psycopg2预计,你应该有PostgreSQL server开发图书馆安装。因为我看到你现在使用MacPorts,你应该能够安装这些图书馆很容易地与这种命令:
sudo port install postgresql-server-devel
这应该得到你的失踪 pg_config
可执行的,设置寻找。
让我们更新你的进步!
如果你已经安装postgres从企业DB你会问题只是想
export PATH=$PATH:/Library/PostgreSQL/8.4/bin
或类似的-根据不同的版本。
如果它抱怨
cc1: error: unrecognized command line option "-Wno-long-double"
然后它不喜欢你的新海湾合作委员会-你可以写你的海湾合作委员会,迫使它利用gcc4.0由做:
alias gcc=/usr/bin/gcc-4.0
然后再运行你的执行。
我确信,我们所有人都会恨忽视的"令人讶异显而易见的",因此,或许这是值得一查之前去和安装新编译器。在这种情况下,它可能是PostgreSQL是没有安装的Mac。因此psycopg2找不到'pg_config'的程序,涉及与新版本的数据库,引起的预警消息"无法找到'pg_config'",以发射。
所以,在摆弄一个新编译器或任何其他部分开发工具,首先检查,看看你有PostgreSQL安装。如果你不那么找到'pg_config'的程序,并设置路径中设置。cfg'文件中的psycopg分布。然后运行'蟒蛇setup.py 安装',并看看如果你得到同样的错误消息。我们希望,它只是启动"汇编";但是,如果它不那么你会有理由在执行更多的困难的程序上所述。
安装PostgreSQL Mac- http://www.postgresql.org/download/macosx
设置路径新PostgreSQL位置psycopg2安装:
PATH=$PATH:/Library/PostgreSQL/9.0/bin/ sudo easy_install psycopg2