フォーラムをトロールしましたが、回答やこれに関するドキュメントすら見つかりません。
コマンドを実行すると:
python manage.py inspectdb
error:が表示されます
mysqlclient 1.3.13 or newer is required; you have 0.9.3
私は以下を含むすべての提案された修正を試しました:-upgrading pip -installing a different wheel(32 bitではなく32 bit)、つまりmysqlclient-1.4.2-cp37-cp37m-win32.whlコマンドでpip install mysqlclient-1.4.2- cp37-cp37m-win32.whl(これはエラーなしで正常に動作しますが、必要なジョブを実行しません!)
私の目的は、レガシーmysqlデータベース(XAMPPおよびmyphpadminの内部で実行されている)をDjangoに接続することです。私はmysqlclientをインストールする必要性を逃したドキュメントに従って、この時点で行き詰まっています。
これは私がそれを修正した方法です。
Django/db/backends/mysqlインストールディレクトリに移動します。エラーメッセージでパスを確認してください。
私はpipenvを使用しているので、私のパスは:
/home/username/.local/share/virtualenvs/project-env/lib/python3.7/site-packages/Django/db/backends/mysql
Base.pyファイルを開き、次を検索します。
version = Database.version_info
Ifとコメント行の中にpassを入れます:
improperlyConfiguredを発生させます( 'mysqlclient 1.3.13以降が必要です。%sがあります。'%データベース。バージョン)
このような。
if version < (1, 3, 13):
pass
'''
raise ImproperlyConfigured(
'mysqlclient 1.3.13 or newer is required; you have %s.'
% Database.__version__
)
'''
このファイルを保存して閉じ、operations.pyを開きます。
検索する:
query = query.decode(errors='replace')
デコードをエンコードに変更します
query = query.encode(errors='replace')
次に、サーバーを実行してみます。
あなたのプロジェクトはmysqlclientの代わりにpymysqlを使用していると思います。
プロジェクトで次のコードスニペットを検索してみてください。見つかった場合は、次の方法でこの問題を解決してください。
import pymysql
pymysql.install_as_MySQLdb()
この2つの間にコード行を挿入して、次のようにします。
import pymysql
pymysql.version_info = (1, 3, 13, "final", 0)
pymysql.install_as_MySQLdb()
次に、プロジェクトを開始してみます。
libssl-dev
はpip install mysqlclient
より前にインストールされています。pymysqlが原因でmysqlclientの下位バージョンがインストールされたのと同じ問題が発生しました。
OS:Linux Mint 19.1
Python:.6.8
Django:2.2.2
pip3 uninstall mysqlclient
pip3 uninstall pymysql
pip3 install mysqlclient
この問題は、デフォルト設定でpycharmにDjangoプロジェクトを作成したときに発生します。Djangoのデフォルトバージョンが2.2.6であるため、= Djangoバージョンが2.1.7になり、ターミナルのエラーがなくなりました。
pip install Django==2.1.7
それで全部です!
内部設定を編集する代わりに、mysqlclientのバージョンをアップグレードしてみてください
pip3 install -U mysqlclient
バリアントとして重要でない場合は、Django framework
を2.2.2
(たとえば)から2.1
にダウングレードしてください。
長い間この問題の解決策を見つけていました。私はUbuntu 18.04を使用していて、このソリューションがpythonバージョン3.7.5
ステップ1. Sudo apt-get installを介してlibpython3.7-devをインストールする
> Sudo apt-get install libpython3.7-dev
ステップ2:mysqlclientをインストールする
> python3 -m pip install mysqlclient==1.4.6
私は同様の問題がありました、私は得ていました
「Django.core.exceptions.ImproperlyConfigured:mysqlclient 1.3.13以降が必要です。1.3.12です。」
だから私はC:\Users\username\Envs\env\Lib\site-packages\Django\db\backends\mysql
、base.pyを開き、その行を変更しました...
if version < (1, 3, 13):
に...
if version < (1, 3, 10):
これは私のバージョンよりも低いバージョンであり、動作しました。
ホイールを取り付ける:
ピップインストールホイール
ここから必要なファイルをダウンロードします: https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
ダウンロードディレクトリに移動します(おそらくcd Downloads
)
pip install <file name>
警告!!ダウンロードした.whlファイルの名前を編集できません。インストールに必要な情報が含まれています。