Python: MySQL/MarriaDBに接続する

  • -

    シェア
  • ---

    LINEで送る
  • -

    はてなブックマーク
    ブックマーク
  • -

    pocket
  • -

    rss
他言語サイト
翻訳はみつかりませんでした
python image
イラストACの画像をもとに加工しています。

CentOSに標準インストールされているPython2.7にmysql-connector-pythonパッケージをインストールして、MySQL/MarriaDBに接続します。
Python3系でも使えます。

CentOS(7.4.1708)に標準インストールされているpython2.7に、データベース(MySQL、MariaDB)の接続を行うコネクターをインストールします。

pipコマンドを使ってインストール

pythonのパッケージ管理であるpipコマンドを使用してインストールします。

pip install mysql-connector

失敗しました。エラー内容は以下の通りです。

running install

Not Installing MySQL C Extension

running build

# Python architecture: 64-bit
# Python ARCH_64BIT: True
Unable to find Protobuf include directory.

' ----------------------------------------


Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-eUfgeL/mysql-connector/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-HBetzs-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-eUfgeL/mysql-connector/

pipコマンドのインストールでエラコード=1が返ってきています。

そこでMySQLのサイトを見たところ手動インストール方法があるみたいなので、インストール方法を手動に変えることにしました。

手動インストール

yum install mysql-connector-python

インストール方法は、MySQLのWebサイトのドキュメントを参考にしました。

インストール確認

pipコマンドで確認します。

pip list
backports.ssl-match-hostname (3.4.0.2)
certifi (2017.4.17)
chardet (3.0.4)
configobj (4.7.2)
decorator (3.4.0)
idna (2.5)
iniparse (0.4)
kitchen (1.1.1)
mysql-connector-python (1.1.6)

...

今度はうまく行きました!

ぼく
エンジニア

でも、なんでpipではダメだったんだろう???

原因を突き止めたいところですが、目的が違うのでスルーします。

動作確認

python -c 'import mysql.connector'

実行して標準出力に何も表示されなければ正常に動作しています。

このコマンドは、mysql-connector-pythonパッケージをインポートしています。ふだんはソースコードに書くものです。

インポートできれば(エラーが発生しなければ)、パッケージが正常にインストールされています。

 

最近ITカテゴリでよく読まれている記事です。
blog image

ドメイン取得の意味が分からない人へ。王道の方法を紹介します。

ドメインの登録業者を選ぶのに悩む必要はないです。サイトを簡単に早く公開するには全くいらないことで、むしろ邪魔です。『お名前.com』というサービスは必ず耳にします。そのお名前.comのメリットとデメリットと一緒に、ドメインの意味が分からない人が一番失敗しないドメインの取得方法を紹介します。

tadtadya.com

_

SNSでも記事を配信しています。
コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

この記事を気に入ったらぜひシェアも!!