🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

606閲覧

djangoでmysqlに接続しようとするとエラーが発生する

babbleman

総合スコア107

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/09/07 22:05

ダウンロードしたmysqlをdjangoで使おうとして、python manage.py runserverをきどうしたら下記のようなエラーが発生しました。
(venv) C:\Users\echoh\Desktop\web>cd webapp

(venv) C:\Users\echoh\Desktop\web\webapp>python manage.py migrations
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\core\management_init_.py", line 381, in execute_from_command_line
utility.execute()
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\core\management_init_.py", line 357, in execute
django.setup()
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django_init_.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\apps\config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "C:\py\Python37\lib\importlib_init_.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in call_with_frames_removed
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\contrib\auth\models.py", line 2, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\contrib\auth\base_user.py", line 47, in <module>
class AbstractBaseUser(models.Model):
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\db\models\base.py", line 117, in new
new_class.add_to_class('meta', Options(meta, app_label))
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\db\models\base.py", line 321, in add_to_class
value.contribute_to_class(cls, name)
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\db\models\options.py", line 204, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\db_init
.py", line 28, in getattr
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\db\utils.py", line 201, in getitem
backend = load_backend(db['ENGINE'])
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\db\utils.py", line 110, in load_backend
return import_module('%s.base' % backend_name)
File "C:\py\Python37\lib\importlib_init
.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "C:\Users\echoh\Desktop\web\venv\lib\site-packages\django\db\backends\mysql\base.py", line 36, in <module>
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.version)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.7.9.None.

mysqlにはコマンドプロンプトを使えば無事に接続できています。
mysqlclientのインストールが必要なのでは、と考えたのですが、それをインストールしようとしてもエラーが発生します。
対処法を教えて下さい。よろしく御願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tatamyiwathy

2019/09/09 06:43

mysqlclientをインストールしたとき、どのようなエラーが発生するのでしょうか。 Django,Python,MySQLのバージョンはどのようになっていますか。 私が答えられるわけではないのですが以上の情報を提示していただくと回答が付きやすくなりますよ。
guest

回答1

0

mysqlclientのインストールに苦労するようであれば代わりにpymysqlをインストールしてはどうでしょうか。

$ pip3 install pymysql

もしpymysqlを利用するのであればmanage.py if __name__ == "__main__":の上辺りに次の2行を追加してください。

import pymysql pymysql.install_as_MySQLdb()

投稿2019/09/16 03:28

yuokada

総合スコア550

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問