エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法

      2017/04/29

MySQL-pythonライブラリを簡単にインストールする方法

 

PythonでMySQLに接続するにはライブラリのインストールが必要

 
Pythonから MySQLに接続するためのライブラリは、標準ライブラリではないため、別途インストールする必要があります。
 
ですが、Pythonから MySQLに接続するライブラリは複数ありまして、どのライブラリを使うかによってデータベースへのアクセスの記述方法などが変わりますので、ライブラリの選択は重要です。
 
 
ですが、ここでは「MySQL-python」というライブラリをインストールする方法を解説します。
インストールする環境は、Windows10です。
 
 
また、複数ある Pythonの MySQLドライバについては、下記に比較記事がありますので、どれにするか迷っている場合は、参考にしてみるといいでしょう。
 http://www.sakito.com/2012/10/python-mysql.html
 
 

MySQL-pythonライブラリのインストール

 

MySQL-python-1.2.3.win32-py2.7.exeのダウンロード

 
下記のサイトにアクセスし、必要なライブラリをダウンロードします。
 http://www.codegood.com/archives/129
 
インストールするライブラリが、32bitか、64bitか、は確認が必要です。
 
注意文に説明がありますが、32bitか、64bitかは、インストールした Pythonのバージョンによって異なります。インストールしてある OS(Windows)が 32bitか、64bitかは関係ありません。
Windows10が 64bitであっても、32bitの Python2.7をインストールしている場合は、32bitのバージョンのライブラリをインストールします。
 
インストールしている Pythonのバージョンが分からない場合は、コマンドプロンプトから「python」と入力してみると確認することができます。
 
「python」と入力すると、下記の様な表示がされ、「[MSC v.1500 32 bit (Intel)]」のような記述があれば 32bitということになります。
 

 
 
私が MySQL-pythonライブラリをインストールするにあたって情報を探していた時、「64bitのライブラリでは動かなかったため、32bit版を入れた」というような記事がいくつかありました。
そのため、「MySQL-pythonライブラリのインストールは難しい」との声も少なからずあるようですが、その方々は使っている OSが 64bitなので 64bit版を入れたけども動かなかったので...ということなのではなかろうかと思います。
MySQL-pythonライブラリで必要なのは、Pythonが 32bitなのか 64bitなのか、それによって入れるものが違うということを知らなかったからなのだろう、と感じました。
 
 

MySQL-python-1.2.3.win32-py2.7.exeのインストール

 
ダウンロードされた「MySQL-python-1.2.3.win32-py2.7.exe」をインストールします。
インストールは簡単です。
 

 
上記の画面が出てきたら、デフォルトの設定のままで問題ありませんので、「次へ」「次へ」「次へ」とクリックしてインストールを行います。
 
完了画面がでたらインストール終了です。
 
 


 

MySQL-pythonライブラリを使った MySQLへの接続スクリプト

 

MySQL-pythonライブラリを使った MySQLへの接続スクリプトのサンプル

 
Pythonで MySQL-pythonライブラリを使って MySQLに接続するためのサンプルスクリプトを乗せておきます。
このスクリプトを利用すれば MySQLへのアクセス確認ができるでしょう。
もちろん、MySQLの接続情報や select文は書き換えてくださいね。
 

 
 

MySQL-pythonライブラリを使った MySQLへの接続のエラーの種類1

 
上記のサンプルスクリプトを「test.py」として、コマンドプロンプトから実行した場合、下記のようなエラーが出る場合があります。
 
これは、MySQL-pythonライブラリがインストールされていません、というエラーですので、MySQL-pythonライブラリがまだインストールされていないか、正しくインストールされていないことになります。
 

 
 

MySQL-pythonライブラリを使った MySQLへの接続のエラーの種類2

 
正常にインストールが終わっている場合は、前項のエラーは出てこなくなるはずです。
 
私の場合は、前項のエラーに替わって下記のエラーが出たのですが、これは、単純に ID、PASSが間違っていてログインできません、というエラーです。
慌てずに、改めて、HOSTや ID、PASSなどの情報が間違っていないか確認しましょう。
 

 
 

selenium+Pythonで処理の自動化に関する記事

Selenium WebDriver、Pythonをインストールしブラウザ自動操作の環境構築手順のまとめ
PythonでUTF-8など日本語(全角文字)を使う方法。コメントにも必要。
Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法
Selenium WebDriverでFirefoxをプライベートウィンドウ/Chromeをシークレットモードで起動する方法・言語はpython
Selenium WebDriver、Pythonをインストールし Chromeの自動操作の環境構築手順のまとめ
Beautiful Soupを利用してPythonでスクレイピングを行う環境構築方法の解説
PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法
PythonでURLの有無、存在をチェックするスクリプト

 - プログラミング・Web関連技術

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Comment

  1. kasaburanka より:

    お世話になります
    私が利用しているOSはWin10 64Bitです。
    Anaconda2 64bitを使っていて何度もMySQLをインストールしようとしてもエラーの連続でインストールできませんでした。
    いろいろ調べていると32Bitでないといろいろ手間がかかるということがわかり
    Python2.7.12 32BitをインストールしてやっとMySQLdbをimport出来ました。

    しかし下記のエラーが出ます
    対処方法をご指導ください

    C:\Users\mtg-1>python
    Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
    Type “help”, “copyright”, “credits” or “license” for more information.
    Import MySQLdb
    Connection = Mysql.connect(
      host=”localhost”,
    port=3306,
    db=”test”,
    user=”username”,
    passwd=”password”,
    )
    cursor = connection.cursor()
    cursor.execute(‘’’CREAT TABLE products (name text, price integer);’’’)
    cursor.execute(‘’’INSERT INTO products (name, price)VALUES (‘apple’, 198);’’’)
    cursor.execute(‘’’INSERT INTO products (name, price)VALUES (‘orange’, 100);’’’)
    connection.commit()
    cursor.execute(‘’’SELECT * FROM products:’’’)
    products = cursor.fetchall()
    print(products) # -> ((‘apple’, 198L), (‘orange’, 100L))
    ——————————————————————————–
    import MySQLdb
    connection = MySQLdb.connect(
    … host=”localhost”,
    … port=3306,
    … db=”test”,
    … user=”username”,
    … passwd=”password”,

    … )
    Traceback (most recent call last):
    File “”, line 6, in
    File “C:\python27\lib\site-packages\MySQLdb\init.py”, line 81, in Connect
    return Connection(*args, kwargs) →どのような意味になりますか?
    File “C:\python27\lib\site-packages\MySQLdb\connections.py”, line 187, in init
    super(Connection, self).init(*args, kwargs2) →どのような意味になりますか?
    _mysql_exceptions.OperationalError: (2003, “Can’t connect to MySQL server on ‘localhost’ (10061)”)
       →どのような意味になりますか?
    上記のスクリプトを実行するには事前に何かの設定が必要になると思いますが
    インストールしてimportしてコードをたたくとエラーになります

    お教えいただけませんか?
    よろしくお願いいたします。

    • エス技研 より:

      kasaburankaさん、コメントありがとうございます。
       
      ご質問いただいている件ですが、私は Anaconda2を使ったことがありませんので、エラーの内容を確認することができません。
      大変申し訳ありません。

  2. kasaburanka より:

    ありがとうございます。基本的なことがわかっていなかったのでMySQLをインストールしてやり直します。

エス技研 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Gitはフォルダ自体を管理対象にはできない。空のフォルダを設定する手順
Gitはフォルダ自体を管理対象にはできない。空のフォルダを設定する手順

Gitはフォルダだけを管理対象にすることはできない。そのため空の.gitkeepファイルを作成し管理対象にすることで、それが入っているフォルダも管理対象にする、と言う手順で管理を行う。

Gitで基本的なデプロイ(push、pullで本番公開)環境を作る手順解説
Gitで基本的なデプロイ(push、pullで本番公開)環境を作る手順解説

開発進行中の環境、公開中の環境にGitを導入する。その基本的な手続きを解説。Gitの導入、ローカルリポジトリを作成。リモートリポジトリを利用し、本番環境にデプロイする手続きを解説。

直リンクとは何か?直リンクとディープリンクの違いと著作権問題

直リンクは著作権違反なのか?議論の前にまず「直リンク」の意味を正しく理解しよう。直リンクは他のサイトの画像を読み込む、ディープリンクなど多様な意味がある。

さくらサーバのmb_send_mailでメール送信時にmalformed header from script 'xxx.php': Bad header: xxxのエラーが
さくらサーバのmb_send_mailでメール送信時にmalformed header from script ‘xxx.php’: Bad header: xxxのエラーが

さくらインターネットのレンタルサーバからPHPのmb_send_mail()関数を利用してメールを送信するとInternal Server Errorが発生。その原因は、メールアドレスが登録されていないこと。

Selenium WebDriver、Pythonをインストールし Chromeの自動操作の環境構築手順のまとめ

Selenium WebDriverを使ってChromeを自動操作する環境を構築する手順のまとめ。使用するPythonのインストールから、サンプルスクリプトの動作確認までを詳細解説。

Gitで「fatal: Authentication failed for 'https://example.com/git_repositories/example.git/'」のエラーが出た場合の対処方法の一つ
Gitで「fatal: Authentication failed for ‘https://example.com/git_repositories/example.git/’」のエラーが出た場合の対処方法の一つ

Gitのリモートリポジトリにアクセスする際、Authentication failedのエラーが。しかし、ID、PASSが間違っているのではなく、リモートリポジトリのURLが間違っている場合もあるので再度確認を。

So-netのレンタルサーバHSはヤバイ・借りてはいけないレンタルサーバリスト

餅は餅屋。サーバはサーバ屋が提供するサービスを利用するべきという記事で、単独でSo-netを紹介。OEMでサービスの提供を受けているだけなので何とも残念すぎる内容。

Selenium WebDriverでFirefoxをプライベートウィンドウ/Chromeをシークレットモードで起動する方法・言語はpython

Seleniumでは初期状態でブラウザを起動する   Seleniumでブラウザ …

CentOS環境に ntpdをインストールして自動的に時刻を取得する設定にする
CentOS環境に ntpdをインストールして自動的に時刻を取得して合わせる設定にする

VirtualBoxに構築した CentOSの環境の時計がずれているとき、ntpdをインストールし、時計を合わせる方法を解説。NTPサーバを指定する方法や ntpdを自動起動する設定も解説。

EストアのショップサーブのWordPressサービスにメリット無し

ショップサーブのオプションサービスのWordPressを使ってみましたがデータベースには直接触れず使えないサービスでした。