質問: ### 前提・実現したいこと Pythonのwebのフレームワークに慣れるために、Djangoで簡単な管理画面を作ろうと思っています。その際に、デフォルトのSQLiteではなく、MySQLのデータベースを使用したいと思っていますが、 「AttributeError: module 'pymysql' has no attribute 'install_as_MYSQLdb'というエラーが出て困っています」 pymysqlというパッケージを入れるとMySQLが使用できると思っているのですが、mysqlclientなどもインストールが必要だったりしますか?PHPでは、MySQLを公式サイトからダウンロードして、インストールしたのですが、pythonなどでは、mysqlclientをインストールするのが一般的ですか? ### 発生している問題・エラーメッセージ AttributeError: module 'pymysql' has no attribute 'install_as_MYSQLdb'というエラーが出ました。 ### 問題が発生するまでの流れ・手順 python3系では、python-mysqlというパッケージが使えないという記事を見つけたため、PyMySQL というパッケージをインストールしました。 作成したプロジェクトにあるmanage.pyに ``` import pymysql pymysql.install_as_MYSQLdb() ``` という2行を追加しました。 その後 python manage.py runserverを実行するとAttributeError: module 'pymysql' has no attribute 'install_as_MYSQLdb'というエラーが出ました。 ### 問題の発生した環境 python3系 windows10 MySQLなどは、まだインストールしていません。 またまた、初歩的な質問ですみません。
回答: MySQLのサーバーは別途立ち上がってるということでよろしいですか? DBに関する設定は、setting.pyの中に記載されています。 その内容を適切に変更すれば、接続できるはずです。 ``` DATABASES = { 'default': { 'NAME': 'スキーマ名', 'ENGINE': 'django.db.backends.mysql', 'USER': 'ユーザー名', 'PASSWORD': 'パスワード', 'OPTIONS': { 'autocommit': True, }, } } ``` Pythonのパッケージ管理で、mysqlclientをインストールしてあれば、 ``` pip install mysqlclient または pip3 install mysqlclient ``` 動作するはずです。 なぜmanage.pyへ?? と思ったら、検索結果にでてくる記事に記載されているんですね。 この方法、私は知りませんでした(^_^;) manage.pyは、Djangoアプリケーションのユーティリティなので、 基本、編集せずそのまま使うものだと思っていました。 ### 追記 すいません、Windowsでしたね・・・見逃してました・・・ 正直Windows環境は、わからないのですが、 PyPIをのぞいてみたところ、Wheel binaryからインストールする必要があるとのこと。 mysqlclient 1.3.13 ただ、そのbinaryの所在がはっきりしません・・・ さらに調べたら、下記のようなリンクにたどり着きました。 うまくいくかどうかはわかりませんが、一度試されてみてはいかかでしょうか? 中途半端な回答で申し訳ないです・・・ mysqlclientがWindowsでインストールできない > > 1.ダウンロード > > http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient > > > 上記のサイトの[mysqlclient]項目から、環境にあったwhlファイルをダウンロード > > > (自分の場合はpython3.4のamd64なのでmysqlclient‐1.3.9‐cp34‐cp34m‐win_amd64.whlでした。) > > > 2.インストール > > コマンドプロンプトでダウンロードフォルダまで移動 > > > (環境にインストールする場合はactivate py3などで環境に入っておくこと) > > > pip install mysqlclient‐1.3.9‐cp34‐cp34m‐win_amd64.whl > > これで桶 > > >