使用Flask / Postgres安装psycopg2

时间:2014-03-30 09:43:29

标签: python postgresql flask psycopg2

我一直在寻找解决方案,但在尝试在Flask应用程序的virtualenv中安装psycopg2时,我似乎遇到了一个不常见的错误。我运行这个命令:

  

pip install   http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz

这是错误:

  

创建build / temp.macosx-10.9-intel-2.7 / psycopg

     

cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386   -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -DPSYCOPG_DEFAULT_PYDATETIME = 1 -DPSYCOPG_VERSION =“2.4(dt dec pq3 ext)” - DPG_VERSION_HEX = 0x090104 -DPSYCOPG_EXTENSIONS = 1   -DPSYCOPG_NEW_BOOLEAN = 1 -DHAVE_PQFREEMEM = 1 -I / System / Library / Frameworks / Python.framework / Versions / 2.7 / include / python2.7   -一世。 -I / Applications / Postgres.app / Contents / MacOS / include -I / Applications / Postgres.app / Contents / MacOS / include / server -c psycopg / psycopgmodule.c -o   建立/ temp.macosx-10.9-Intel的2.7 / psycopg / psycopgmodule.o

     

clang:错误:未知参数:'-mno-fused-madd'   [-Wunused的命令行参数的硬错误功能于未来]

     

clang:注意:这将是一个很难的错误(不能降级为   警告)将来

     

错误:命令'cc'失败,退出状态为1

     

---------------------------------------- Command / Users / jasdeep1 / Dropbox / workspace / Printbase / venv / bin / python -c“import   setuptools的; 文件 = '/变种/文件夹/ 9Q / bg9_hgr16s7gt7gdbg8x79wr0000gn / T / PIP-TbS4xF-构建/ setup.py'; EXEC(编译(开放(的文件)。读()。替换( '\ r \ N',   '\ n'),文件,'exec'))“install --record   /var/folders/9q/bg9_hgr16s7gt7gdbg8x79wr0000gn/T/pip-Yavgs4-record/install-record.txt   --single-version-external-managed --install-headers /Users/jasdeep1/Dropbox/workspace/Printbase/venv/include/site/python2.7   失败,错误代码为1   在/ var /文件夹/ 9Q / bg9_hgr16s7gt7gdbg8x79wr0000gn / T / PIP-TbS4xF建造   存储完整的日志/Users/jasdeep1/.pip/pip.log

不完全确定如何解决这个问题。我见过的答案似乎没有解决这个问题。任何有助于踩正确方向的帮助都表示赞赏。

很高兴分享更多的调试输出,但不确定细节有多详细。

2 个答案:

答案 0 :(得分:1)

您可能希望直接从pip安装psycopg2 - 不确定为什么要手动安装tarball(尽管如此,假设您已经拥有libpq-dev和{{1}安装)。

build-essential

答案 1 :(得分:0)

安装:打开终端(编辑器或本地)

$ brew install postgresql
$ brew services start postgresql

然后去 sql promp 创建一个数据库(不要离开终端):

$ psql postgres
<块引用>

CREATE DATABASE .. CREATE USER GRANT ...

和连接示例:

def con_db():
    conn = None
    cursor = None

    try:
        conn = psycopg2.connect("host= dbname= user= password=")

        cursor = conn.cursor()
        sql_query = """select .."""
        cursor.execute(sql_query)

        # conn.commit()
        result = cursor.fetchall()  # fetchone()

    except Exception as e:
        print(e)
    finally:
        cursor.close()
        conn.close()