2

Bluehost に共有ホスティング環境があります。いくつかのモジュールがインストールされた python(+ django) のカスタム インストールを実行しています。昨日まで、サーバーに変更が加えられ(私が推測)、このdjangoエラーが発生しました:

... ファイル "/****/****/.local/lib/python/django/utils/importlib.py"、35 行目、import_module 内
    __import__(名前)

ファイル「/****/****/.local/lib/python/django/db/backends/mysql/base.py」の 14 行目
    raise ImproperlyConfigured("MySQLdb モジュールのロード中にエラーが発生しました: %s" % e)

ImproperlyConfigured: MySQLdb モジュールのロード中にエラーが発生しました: libmysqlclient_r.so.16: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません

もちろん、Bluehost のサポートはあまり役に立ちません。彼らは、1) MySQLdb が既にインストールされているため、デフォルトの python インストールを使用することをアドバイスしました。または、2)デフォルトのpythonにインストールされているMySQLdbパッケージを、私のpythonから何らかの形でインポートします(これができるかどうかはわかりません)。デフォルトのインストールを使用すると、他のパッケージをインストールする権限がなくなるのではないかと心配しています。

インフラストラクチャの変更をできるだけ少なくして、稼働状態に戻す方法を知っている人はいますか?

4

2 に答える 2

2

libmysqlclientOS インストールをアップグレードしたことで、ネイティブ拡張機能がアップグレードされて破損したと思います。できることは、libmysqlclient16もう一度再インストールすることです (その方法は特定の OS によって異なります)。これで問題が解決するはずです。

他のアプローチは、MySQLdbモジュールをアンインストールして再度インストールし、Python に新しいライブラリに対してコンパイルさせることです。

于 2012-11-26T21:43:54.950 に答える
0

君は正しかった。Bluehost は MySQL をアップグレードしました。これが私がしたことです:1)「MySQL-python-1.2.3」ディレクトリの「build」ディレクトリを削除します2)卵を削除します3)モジュールを再度ビルドします「python setup.py build」4)モジュールを再度インストールします"python setup.py install --prefix=$HOME/.local"

私にとってのモラルは、モジュールを再インストールするときに古いものを削除することです

于 2012-11-27T19:03:09.927 に答える