[解決済み] Python mysqldb: ライブラリがロードされない: libmysqlclient.18.dylib
2022-05-04 19:12:59
質問
mysqldb for python 2.7をmac os 10.6でコンパイルしてインストールしたところです。私は、以下をインポートする簡単なテストファイルを作成しました。
import MySQLdb as mysql
まず、このコマンドには赤い下線が引かれ、infoには "未解決のimport"と表示されます。そこで、次のような簡単なpythonのコードを実行しようとしました。
import MySQLdb as mysql
def main():
conn = mysql.connect( charset="utf8", use_unicode=True, host="localhost",user="root", passwd="",db="" )
if __name__ == '__main__'():
main()
実行すると、次のようなエラーメッセージが表示されます。
Traceback (most recent call last):
File "/path/to/project/Python/src/cvdv/TestMySQLdb.py", line 4, in <module>
import MySQLdb as mysql
File "build/bdist.macosx-10.6-intel/egg/MySQLdb/__init__.py", line 19, in <module>
\namespace cvdv
File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 7, in <module>
File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/toom/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/toom/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
Reason: image not found
私の問題を解決する方法は何だろう?
EDIT 実は、このライブラリは/usr/local/mysql/libにあることがわかりました。だから私はそれを見つけるために私のpydev eclipseバージョンを伝える必要があります。どこでこれを設定するのですか?
どのように解決するのですか?
ライブラリへのシンボリックリンクを作成することで問題を解決しました。すなわち
実際のライブラリは
/usr/local/mysql/lib
でシンボリックリンクを作成し
/usr/lib
コマンドを使用する
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
で、以下のようなマッピングになります。
ls -l libmysqlclient.18.dylib
lrwxr-xr-x 1 root wheel 44 16 Jul 14:01 libmysqlclient.18.dylib -> /usr/local/mysql/lib/libmysqlclient.18.dylib
それだけでした。その後はすべてうまくいきました。
EDIT
MacOS El Capitan 以降、SIP (System Integrity Protection、別名 "rootless") は、リンクが
/usr/lib/
.
SIP を無効にするには、次のようにします。
以下の手順で
にリンクを作成することができます。
/usr/local/lib/
の代わりに
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
関連
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python jiabaライブラリの使用方法について説明
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python入門 openを使ったファイルの読み書きの方法
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】NameError: 名前 'self' が定義されていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
Python カメの描画コマンドとその例
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
Python 入出力と高次代入の基礎知識
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み] Mac OS X - EnvironmentError: mysql_config が見つかりません。