UbuntuでのPythonMySQLd

少し複雑なWebサイトは、データ交換なしでは実行できません。Djangoを使用して開発する場合は、データベースを構成する必要があります。mysqlデータベースを選択するときに、djangoとmysqlが正常に「通信」してデータを交換する場合は、ブリッジが必要です。 -mySQLdb、前夜にコンピューターのubuntuシステムをアップグレードした後(14.04LTSバージョンから16.04LTSに)、コンピューター上の前のプロジェクトがpython manage.pyrunserverコマンドの実行後にエラーを報告しました。エラーメッセージはdjango.core.exceptionsでした。不適切に構成:MySQLdbモジュールのロード中にエラーが発生しました:libmysqlclient.so.18:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません。

次に、BaiduはStackoverflowでの検索を含む解決策を探しました。ほとんどの記事では、MySQLdbがインストールされていない可能性があると述べていたので、MySQLdbをインストールしましたが、システムはインストールされていることを通知し、次のようなメッセージが表示されます。要件はすでに満たされています(--upgradeを使用)アップグレードするには):MySQL-python == 1.2.3 in /usr/local/lib/python2.7/dist-packages

これは、システムにMySQL-pythonがあることを意味しますが、なぜエラーが報告されるのですか?長い間考えた後、アンインストールして再インストールすることを考えたところ、問題は解決しました(笑、アーティファクト、実際、これがなぜなのか理解できませんでした。システムに関連している可能性があります。システムをアップグレードした後、以前のいくつかのことがうまくいかない可能性があります中古)。

以前のubuntu14.04LTSバージョンにMySQLdbをインストールするときに、多くの問題が発生しました。今日ここに要約します。これらは通常発生する問題であり、将来さらに発生する可能性があります。必要に応じてゆっくりと追加してください。友達は以下を参照することができます(不規則性ですが、私にアドバイスを与えることも望んでいます)。

  1. MySQLdbのインストール

インストールは非常に簡単です。pythoneer、virtualenv、fabric、pipの3つの主要なアーティファクトがある場合(python開発者の場合は、最後にインストールしてください。これら3つのツールは確かに非常に強力です。ここではなくインターネットにインストール方法があります。はじめに)、MySQLdbのインストールは非常に簡単で、1つのコマンドを解決できます。

pip install MySQL-python

バージョンを指定したい場合は、これを行うことができます

pip install MySQL-python==1.2.3

インストールできない場合(pipが正常にインストールされ、使用できることを前提としています)、権限の問題である可能性があります。このとき、pipの前にsudoを追加してください。

しかし、これで大丈夫だと思いますか?これは、Windowsシステムでは問題ないかもしれませんが、ubuntuシステムでは問題ありません。いくつかの依存関係パッケージが必要です。インストールコマンドは次のとおりです。

sudo apt-get install mysql-client 
sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev

次に、MySQLdbをインポートします。エラーが報告されない場合、インストールは成功しています。

  1. python manage.pyrunserverの実行における一般的な問題

(1)エラー:mysql_configが見つかりません

解決策:mysqld-devパッケージをインストールします。インストールコマンドには

(2)エラー:_mysql.c:2810:エラー:「init_mysql」の前に宣言指定子が必要です

解決策:python-devをインストールします

(3)エラー:ImportError:setuptoolsという名前のモジュールがありません

解決策:setuptoolsをインストールします

sudo apt-get install python-setuptools

(4)エラー1193、「不明なシステム変数 'storage_engine'

djangoのデータベース構成またはmysql構成ファイルに関連している可能性があります。

データベース構成に文を追加します。

' OPTIONS': {
            'init_command': 'SET default_storage_engine=INNODB',
        },

あなたは問題を解決することができます。

MySQL5.5以降、デフォルトのデータベースストレージエンジンはinnodであり、バージョン5.7を使用し、以前の構成は

' OPTIONS': {
                    'init_command': 'SET storage_engine=MyISAM',  
        },

エラーが発生するため、変更する方法は2つあります。1つはdjango設定ファイルを変更する方法、もう1つはmysql構成ファイルetc / mysql / my.cnfを変更する方法、文SET default_storage_engine = MyISAMを追加する方法ですが、どのように変更しても、両方一貫している必要があります。

Recommended Posts

UbuntuでのPythonMySQLd
Ubuntu16.04にpython3.6をインストールします
[python] ubuntuの下のpython2とpython3
ubuntuでのPython中国語エンコーディング設定
ubuntu18.04インストールpython2
ubuntuを再学習します--python3
ubuntu12.04インストールpython3
ubuntu18.04インストールpython
ubuntu16.04アップグレードpython2
Ubuntuでpython開発環境を構築する
Ubuntu18.04スイッチPythonバージョン
Ubuntuにapache + PHPをインストールします
ubuntu構成python、赤
Ubuntu16.04にmysqlをインストールします
ubuntu14.10の下にThriftをインストールします
UbuntuにOpenJDK10をインストールします
Ubuntu14.04にCaffeをインストールします
Ubuntu16.04スイッチpythonバージョン
ubuntuの下で働き始める
ubuntuでiptablesを使用する
2018-09-11Ubuntuにarduinoをインストールします
Ubuntu14.04にPython3をインストールします
UbuntuでのLNMPのインストール
Ubuntuでのネットワーク構成
Python仮想環境:Ubuntu16.04
Ubuntuにpythonをインストールする
Ubuntu16.04にPython3をインストールします
ROS Ubuntu 18.04 [2]にROSをインストールします。
UbuntuにMySQLをインストールする
UbuntuにYarm-PM2をインストールします
UbuntuにPython3.7をインストールする
UbuntuでのPythonでのGDALのインストールと使用
Ubuntu 14.04でのDjango&MySQL環境の展開
ubuntuの下にFTPサーバーをデプロイします
Ubuntuは最新のPython3をインストールします。
Linuxにpython環境をインストールする
Ubuntu 18.04LTSにPython3.7をインストールします
ubuntuはpython2.5環境変数を設定します
ubuntu18.04python3.8をコンパイルしてインストールします
ubuntuでUnmentの依存関係を解決する
ubuntu viewpythonインストールパス
UbuntuでSSHサービスを開く
ubuntuの下で崇高なtexを使用する
Ubuntu18.04でショートカットキーを変更する
SecureCRTでのPythonスクリプトの記述
ubuntuでのmediawikiの使用
Ubuntu16.04にサーバー側のShadowsocksをインストールします
UbuntuでSSHサービスを開く
UbuntuでのDNSサービスの構築
ubuntuビルドpython開発環境
ubuntuオフラインインストールpython環境
Ubuntuにrglパッケージをインストールします
Ubuntu16.04環境でPython3.6の下にDjangoをインストールするための詳細な手順
14.10に適用可能なUbuntu13.10でQQを使用する
Ubuntuでのdebパッケージのインストール
Ubuntu19.10でメールシステムを展開する
ubuntuでijkplayer-androidをコンパイルする方法
Ubuntuの下に3つのシングルセルRパッケージをインストールします
Ubuntu18.04にPython3.8をインストールする方法
UbuntuにGerritをインストールしてデプロイする
Ubuntu 18.04にMySQLをインストールします(グラフィックチュートリアル)