2

我已经经历了大部分以前的错误,并且已经安装在 python 3.5 virtualenv 中:python3-dev libmysqlclient-dev libmariadb-client-lgpl-dev libmariadb-client-lgpl-dev-compat

sudo pip install oursql

仍然收到此错误:

Installing collected packages: oursql
  Running setup.py install for oursql ... error
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-

build-fHedbn/oursql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r

\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-V5ljoT-record/install-record.txt --single-

version-externally-managed --compile:
    cython not found, using previously-cython'd .c file.
    running install
    running build
    running build_ext
    building 'oursql' extension
    mysql_config --cflags
    creating build
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/oursqlx
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing 

-Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -

I/usr/include/python2.7 -c oursqlx/oursql.c -o build/temp.linux-x86_64-2.7/oursqlx/oursql.o -

I/usr/include/mysql -fabi-version=2 -fno-omit-frame-pointer
    In file included from /usr/include/mysql/mysql.h:64:0,
                     from oursqlx/compat.h:13,
                     from oursqlx/oursql.c:235:
    /usr/include/mysql/mysql/client_plugin.h:97:3: warning: function declaration isn’t a prototype [-

Wstrict-prototypes]
       MYSQL_CLIENT_PLUGIN_HEADER
       ^
    In file included from /usr/include/mysql/mysql.h:64:0,
                     from oursqlx/compat.h:13,
                     from oursqlx/oursql.c:235:
    /usr/include/mysql/mysql/client_plugin.h:107:3: warning: function declaration isn’t a prototype [-

Wstrict-prototypes]
       MYSQL_CLIENT_PLUGIN_HEADER
       ^
    oursqlx/oursql.c: In function ‘__pyx_pf_6oursql_6Cursor_4callproc’:
    oursqlx/oursql.c:16330:13: warning: variable ‘__pyx_v_params’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_params = 0;
                 ^
    oursqlx/oursql.c:16329:13: warning: variable ‘__pyx_v_procname’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_procname = 0;
                 ^
    oursqlx/oursql.c: In function ‘__pyx_pf_6oursql_6Cursor_14setoutputsize’:
    oursqlx/oursql.c:18140:13: warning: variable ‘__pyx_v_column’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_column = 0;
                 ^
    oursqlx/oursql.c:18139:13: warning: variable ‘__pyx_v_size’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_size = 0;
                 ^
    oursqlx/oursql.c: In function ‘__pyx_pf_6oursql_6Cursor_16__exit__’:
    oursqlx/oursql.c:18245:13: warning: variable ‘__pyx_v_tb’ set but not used [-Wunused-but-set-variable]
       PyObject *__pyx_v_tb = 0;
                 ^
    oursqlx/oursql.c:18244:13: warning: variable ‘__pyx_v_value’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_value = 0;
                 ^
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing 

-Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -

I/usr/include/python2.7 -c oursqlx/compat.c -o build/temp.linux-x86_64-2.7/oursqlx/compat.o -

I/usr/include/mysql -fabi-version=2 -fno-omit-frame-pointer
    In file included from /usr/include/mysql/mysql.h:64:0,
                     from oursqlx/compat.h:13,
                     from oursqlx/compat.c:1:
    /usr/include/mysql/mysql/client_plugin.h:97:3: warning: function declaration isn’t a prototype [-

Wstrict-prototypes]
       MYSQL_CLIENT_PLUGIN_HEADER
       ^
    In file included from /usr/include/mysql/mysql.h:64:0,
                     from oursqlx/compat.h:13,
                     from oursqlx/compat.c:1:
    /usr/include/mysql/mysql/client_plugin.h:107:3: warning: function declaration isn’t a prototype [-

Wstrict-prototypes]
       MYSQL_CLIENT_PLUGIN_HEADER
       ^
    In file included from oursqlx/compat.c:55:0:
    oursqlx/_exceptions.c: In function ‘_oursqlx_exc_from_errno’:
    oursqlx/_exceptions.c:620:24: error: ‘ER_ERROR_FIRST’ undeclared (first use in this function)
                 if (err >= ER_ERROR_FIRST && err <= ER_ERROR_LAST)
                            ^
    oursqlx/_exceptions.c:620:24: note: each undeclared identifier is reported only once for each function 

it appears in
    oursqlx/_exceptions.c:620:49: error: ‘ER_ERROR_LAST’ undeclared (first use in this function)
                 if (err >= ER_ERROR_FIRST && err <= ER_ERROR_LAST)
                                                     ^
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-

fHedbn/oursql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', 

'\n'), __file__, 'exec'))" install --record /tmp/pip-V5ljoT-record/install-record.txt --single-version-

externally-managed --compile" failed with error code 1 in /tmp/pip-build-fHedbn/oursql/

任何帮助是极大的赞赏!

4

3 回答 3

2

这可能是由于 MySQL 5.7 的更新。删除了一些破坏oursql构建的常量。在 oursql 中查看这个拉取请求。

升级到oursql >= 0.9.3.2应该可以解决此问题。

请注意,这0.9.3.2无法使用 MariaDB 10 构建。那里你必须使用0.9.3.1.

于 2016-07-18T13:25:03.620 回答
0

最近,转移到 pymysql 效果很好。

于 2020-06-15T14:45:38.127 回答
0

通常,该错误消息意味着主机级别缺少包。

基于:错误:安装脚本退出并出现错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1

尝试:

sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev
于 2016-05-02T19:17:54.097 回答