2017-03-07 46 views
0

安装psycopg2使用此命令时在Amazon Linux上安装psycopg2sudo pip-3.4 install psycopg2我得到这样的输出:错误在Amazon Linux的

gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.7 (dt dec pq3 ext)" -DPG_VERSION_NUM=90218 -I/usr/include/python3.4m -I. -I/usr/include/pgsql92 -I/usr/include/pgsql92/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.4/psycopg/psycopgmodule.o -Wdeclaration-after-statement 
    In file included from ./psycopg/replication_cursor.h:30:0, 
        from psycopg/psycopgmodule.c:32: 
    ./psycopg/libpq_support.h:31:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘XLogRecPtr’ 
    typedef unsigned PG_INT64_TYPE XLogRecPtr; 
            ^
    In file included from psycopg/psycopgmodule.c:32:0: 
    ./psycopg/replication_cursor.h:47:5: error: unknown type name ‘XLogRecPtr’ 
     XLogRecPtr write_lsn;  /* LSNs for replication feedback messages */ 
     ^
    ./psycopg/replication_cursor.h:48:5: error: unknown type name ‘XLogRecPtr’ 
     XLogRecPtr flush_lsn; 
     ^
    ./psycopg/replication_cursor.h:49:5: error: unknown type name ‘XLogRecPtr’ 
     XLogRecPtr apply_lsn; 
     ^
    In file included from psycopg/psycopgmodule.c:33:0: 
    ./psycopg/replication_message.h:46:5: error: unknown type name ‘XLogRecPtr’ 
     XLogRecPtr data_start; 
     ^
    ./psycopg/replication_message.h:47:5: error: unknown type name ‘XLogRecPtr’ 
     XLogRecPtr wal_end; 
     ^
    error: command 'gcc' failed with exit status 1 

我已经有gccpostgresql-develpostgresql-libspython34-devel安装。我是否缺少包装或设置?

编辑:这是在EMR节点上。

回答

1

我有EMR同样的问题,我想下面

sudo yum -y install gcc python-setuptools python-devel postgresql-devel 
sudo /usr/bin/pip install --upgrade pip 
sudo /usr/local/bin/pip install psycopg2 

它的工作原理,当我运行它,但电子病历EMR时从管道旋转起来不起作用。

+0

谢谢!升级点解决了这个问题。不幸的是,它会导致一些点子版本的其他问题,但现在应该可以工作。我也在研究EMR,所以也许这与问题有关。 – jarbaugh