Как я устанавливаю oursql, использующий зернышко?

Я пытался установить oursql, использующий зернышко (7.1.0, я установил его использование sudo easy_install pip что касается моих целей версия, обеспеченная python-pip слишком старо) через выполнение:

sudo pip install oursql

но это возвращает ошибку:

Collecting oursql
  Using cached oursql-0.9.3.1.tar.bz2
Building wheels for collected packages: oursql
  Running setup.py bdist_wheel for oursql
  Complete output from command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-8AI16g/oursql/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpAakYx7pip-wheel-:
  running bdist_wheel
  running build
  running build_ext
  skipping 'oursqlx/oursql.c' Cython extension (up-to-date)
  warning: no usable mysql_config and no _winreg module to try; hopefully you have usable CFLAGS/LDFLAGS set.
  building 'oursql' extension
  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 -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
  In file included from oursqlx/oursql.c:235:0:
  oursqlx/compat.h:13:19: fatal error: mysql.h: No such file or directory
   #include "mysql.h"
                     ^
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for oursql
Failed to build oursql
Installing collected packages: oursql
  Running setup.py install for oursql
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-8AI16g/oursql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-z5NtR4-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    skipping 'oursqlx/oursql.c' Cython extension (up-to-date)
    warning: no usable mysql_config and no _winreg module to try; hopefully you have usable CFLAGS/LDFLAGS set.
    building 'oursql' extension
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -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
    In file included from oursqlx/oursql.c:235:0:
    oursqlx/compat.h:13:19: fatal error: mysql.h: No such file or directory
     #include "mysql.h"
                       ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-8AI16g/oursql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-z5NtR4-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-8AI16g/oursql

Я попытался следовать этому руководству, но у меня не было самого туманного, что я был предназначен, чтобы сделать с MYSQL_CONFIG переменная, поскольку я понятия не имею, на что она должна быть установлена. Я также делал попытку выполнения: sudo easy_install oursql для установки oursql, но это также перестало работать, дав:

/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:2512: 
PEP440Warning: 'python-apt (0.9.3.11build1)' is being parsed as a legacy, non PEP 440, version. You may find odd behavior and sort order. In particular it will be sorted as less than 0.0. It is recommend to migrate to PEP 440 compatible versions.
  PEP440Warning,
/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:2512: PEP440Warning: 'PyECLib (1.0.5m)' is being parsed as a legacy, non PEP 440, version. You may find odd behavior and sort order. In particular it will be sorted as less than 0.0. It is recommend to migrate to PEP 440 compatible versions.
  PEP440Warning,
/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:2512: PEP440Warning: 'pygame (1.9.1release)' is being parsed as a legacy, non PEP 440, version. You may find odd behavior and sort order. In particular it will be sorted as less than 0.0. It is recommend to migrate to PEP 440 compatible versions.
  PEP440Warning,
Searching for oursql
Reading https://pypi.python.org/simple/oursql/
Reading http://launchpad.net/oursql
Best match: oursql 0.9.3.1
Downloading https://pypi.python.org/packages/source/o/oursql/oursql-0.9.3.1.zip#md5=ad599ea2d95fc695df7195e9801b45c2
Processing oursql-0.9.3.1.zip
Writing /tmp/easy_install-gejSuT/oursql-0.9.3.1/setup.cfg
Running oursql-0.9.3.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-gejSuT/oursql-0.9.3.1/egg-dist-tmp-N9kmGB
warning: no usable mysql_config and no _winreg module to try; hopefully you have usable CFLAGS/LDFLAGS set.
In file included from oursqlx/oursql.c:235:0:
oursqlx/compat.h:13:19: fatal error: mysql.h: No such file or directory
 #include "mysql.h"
                   ^
compilation terminated.
error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
0
задан 20 August 2015 в 23:47

3 ответа

Я нашел решение сам, руководство, за которым я следовал, привело меня полагать, что зернышко сделает всю работу для меня (т.е. установит все необходимые зависимости), но я должен был установить MySQL Connector библиотеки C++ (имя пакета Ubuntu: libmysqlcppconn-dev). Таким образом, я работал sudo apt-get install libmysqlcppconn-dev для установки этого пакета, и впоследствии sudo pip install oursql работал без ошибки. Таким образом, комментарий Timo был на правильном пути.

2
ответ дан 28 July 2019 в 19:44

Установка oursql в macOS.

Так, вот стандартное решение смочь установить oursql правильно в macOS.

brew install mysql@5.7

Теперь, следуйте всем инструкциям, данным в конце установки.

Для выполнения безопасной установки (пароль набора и т.д.) необходимо будет пойти сюда и работать /usr/local/mysql@5.7/bin/mysql_secure_installation

Теперь, после того как у нас есть установленный mysql, существует некоторая зависимость самих пакет как mysql-client. Можно установить его с ниже команды:

brew install mysql-client

После установки следуют инструкциям по установке, данным в конце установки.

не забывают перезагружать удар здесь. source ~/.bash_profile

Теперь, перезапустите mysql brew service restart mysql

Теперь, наконец первая установка mysqlclient с зернышком и затем установите oursql.

pip install mysqlclient
pip install oursql

Вся Польза!

0
ответ дан 28 July 2019 в 19:44

У меня просто была подобная проблема, устанавливающая oursql в virtualenv.

Мой вывод включал подобную ошибку в эту часть ниже (от вопроса):

  oursqlx/compat.h:13:19: fatal error: mysql.h: No such file or directory
   #include "mysql.h"
                     ^
  compilation terminated.

, Который привел меня к решению в принятом ответе этот stackoverflow вопрос .

sudo apt install libmysqlclient-dev устранил проблему в моем случае.

0
ответ дан 28 July 2019 в 19:44

Другие вопросы по тегам:

Похожие вопросы: