Como eu instalo o oursql usando o pip?

0

Eu tenho tentado instalar o oursql usando o pip (7.1.0, eu instalei usando sudo easy_install pip para meus propósitos, a versão fornecida pelo python-pip é muito antiga) através da execução:

sudo pip install oursql

mas isso retorna o erro:

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

Eu tentei seguir este guia , mas não sabia o que eu queria fazer com o MYSQL_CONFIG variable como não tenho ideia do que deve ser definido. Eu também tentei executar: sudo easy_install oursql para instalar o oursql mas ele também falhou, dando:

/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
    
por BH2017 20.08.2015 / 22:28

3 respostas

2

Eu mesmo encontrei a solução, o guia que estava seguindo me levou a acreditar que o pip faria todo o trabalho para mim (ou seja, instalaria todas as dependências necessárias), mas eu precisava instalar as bibliotecas do MySQL Connector C ++ : libmysqlcppconn-dev ). Então eu corri sudo apt-get install libmysqlcppconn-dev para instalar este pacote e depois sudo pip install oursql correu sem erro. Então o comentário de Timo estava no caminho certo.

    
por BH2017 21.08.2015 / 20:10
0

Instale o oursql no macOS .

Então, aqui está a solução padrão para poder instalar o oursql corretamente no macOS.

brew install [email protected]

Agora, siga todas as instruções dadas no final da instalação.

Para executar a instalação segura (definir senha, etc.), você precisa ir até aqui e executar /usr/local/[email protected]/bin/mysql_secure_installation

Agora, uma vez que tenhamos o mysql instalado, há alguma dependência de nós mesmos como mysql-client . Você pode instalá-lo com o comando abaixo:

brew install mysql-client

Após a instalação, siga as instruções de configuração fornecidas no final da instalação.

Não se esqueça de recarregar o bash aqui. source ~/.bash_profile

Agora, reinicie o mysql por brew service restart mysql

Agora, finalmente instale o mysqlclient com o pip e, em seguida, instale o oursql.

pip install mysqlclient
pip install oursql

Tudo de bom!

    
por 24.10.2018 / 10:04
0

Acabei de ter um problema semelhante ao instalar oursql em um virtualenv.

Minha saída incluiu um erro semelhante a essa parte abaixo (da pergunta):

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

O que me levou à solução na resposta aceita de essa pergunta sobre o stackoverflow .

sudo apt install libmysqlclient-dev corrigiu o problema no meu caso.

    
por 24.02.2019 / 05:25