ホーム >  Python > PyCharm >  【Windows7】mysqlclientをインストールできないときは【PyCharm】

投稿日:   |  最終更新日:

【Windows7】mysqlclientをインストールできないときは【PyCharm】

PyCharmPython統合開発環境

PycharmにDjangoとMariaDBの準備を行いました。DjangoからMariaDBに接続するためにmysqlclientをインストールする必要があります。

mysqlclientはpipだけでインストールできない

前回、PyCharmのDjangoの接続先のDBとしてMariaDBをインストールしました。コネクトは確認できましたが、Djnangoから接続する場合はどうしても「mysqlclient」なるパッケージが必要になります。

mysqlclientが無い状態でsettings.pyを設定してDjangoを起動すると、以下のようなエラーが表示されます。

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

pipコマンドでmysqlclientをインストールしようとしても以下のようなエラーが出てインストールできません。

pip install mysqlclient

~省略~
    error: command 'cl.exe' failed: No such file or directory
    ----------------------------------------

Windows7環境では普通の方法でインストールできません。今回は、mysqlclientをインストールできない場合の対処方法を紹介します。

mysqlclientとは?

PythonからMySQLに接続するためのパッケージです。こちらはPython2系列でよく使われたMySQLdb1の3系列向けフォークになり、現在でも活発に開発が進められています。

様々な事情でmysqlclientが使えない場合は、公式提供のmysql-connector-pythonというパッケージもあります。しかし、Djangoの公式サイトでは「mysqlclient」の方を推奨しています。

mysqlclientをインストールするには?

下記のURLから環境に適した.whlファイルをダウンロードします。

Unofficial Windows Binaries for Python Extension Packages

ダウンロードフォルダまで移動(cd)してpipインストールします。

pip install <package_name>

.whl拡張子ファイルの正体

Wheel形式ファイルのことで、Pythonのパッケージの形式(フォーマット)のことを指します。実態はzip形式のアーカイブであり、PEP427で定義されました。

pipでパッケージをインストールする時は、wheel形式のファイルをダウンロードするところから始まります。逆に、Pythonのパッケージを作って配布したい場合は、wheel形式のファイルを作成する必要があります。2014年ごろからこの拡張子での配布が多いらしく、何かと便利です。

必要なもの

必要なものはWindowsあるいはMacPCのみです。Python3.7とPyCharm(無料版)がインストール済みであることが前提です。

Windows7にPyCharmをインストールします。

【Windows7】Pythonの統合開発環境PyCharmをインストールしてDjango開発【無料版】

PyCharmを日本語化します。

Pycharmを日本語化!旧バージョン(Windows7)でもできる?

Windows7にMariaDBをインストールします。

Windows7にMariaDBをインストール

PyCharmのコンソールからMariaDBにコネクトします。

【Pycharm】PythonからMariaDBにコネクトする【mysql-connector-python】

環境

PC 32bit版のMicrosoft Windows 7(SP1) ※64bit版のWindows8、10でもOK。
Python 3.7.6
pip 20.0.2
Pycharm 2018.3.7
MariaDB 10.1
Django 3.0.3

アーキテクチャを確認

.whlファイルをダウンロードする前に、どの.whlファイルをインストールすればよいか確認するため、自身のPCのアーキテクチャを調べます。

①Pycharmを立ち上げます。Pythonコンソールをクリックします。

②Pythonコンソールで下記のコードを実行します。

from pip._internal.pep425tags import get_supported
get_supported()

これでPythonの実行環境がサポートしているwheelバイナリパッケージのアーキテクチャを確認することができます。 わたしの環境では以下の結果を出力しました。

[<cp37-cp37m-win32 @ 48607480>, <cp37-abi3-win32 @ 45157992>, <cp37-none-win32 @ 45156432>, <cp36-abi3-win32 @ 45225544>, <cp35-abi3-win32 @ 45225584>, <cp34-abi3-win32 @ 45225624>, <cp33-abi3-win32 @ 45225664>, <cp32-abi3-win32 @ 45225704>, <py37-none-win32 @ 45225784>, <py3-none-win32 @ 45225824>, <py36-none-win32 @ 45225864>, <py35-none-win32 @ 45225904>, <py34-none-win32 @ 45225944>, <py33-none-win32 @ 45225984>, <py32-none-win32 @ 45226024>, <py31-none-win32 @ 45226064>, <py30-none-win32 @ 45226104>, <cp37-none-any @ 45226144>, <py37-none-any @ 45226184>, <py3-none-any @ 45226224>, <py36-none-any @ 45226264>, <py35-none-any @ 45226304>, <py34-none-any @ 45226344>, <py33-none-any @ 45226384>, <py32-none-any @ 45226424>, <py31-none-any @ 45226464>, <py30-none-any @ 45226504>]

この出力結果から、cp37のcp37mのwin32に対応していることが判明しました。

.whlファイルをダウンロード

①下記のサイトを開きます。

Unofficial Windows Binaries for Python Extension Packages

②一覧から環境に適した.whlファイルをダウンロードします。(私の場合は、「mysqlclient-1.4.6-cp37-cp37m-win32.whl」をダウンロードします。)

③pycharmのターミナルを操作します。ダウンロードしたディレクトリまで移動します。

(venv) C:\Users\ユーザ名\PycharmProjects\mysite\mysite>cd C:\Users\ユーザ名\Downloads

④ディレクトリを移動したら、以下のコマンドでpipインストールします。

(venv) C:\Users\ユーザ名\Downloads>pip install mysqlclient-1.4.6-cp37-cp37m-win32.whl

これでSuccessfully installedと出力されればOKです。

⑤インストールが成功すれば、以下のように一覧に表示されます。

(venv) C:\Users\ユーザ名\Downloads>pip freeze
~(省略)~
mysqlclient==1.4.6
~(省略)~

次回

DjangoからMariaDBに接続し、Djangoの管理画面(データベース)を初期化します。

【Windows7】DjangoからMariaDBに接続するには?【PyCharm】

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告