SSHTunnelForwarderを使用してリモートデータベースに接続しています.Lind PythonクライアントのコマンドラインでAnaconda
環境で次のコードを実行しても問題ありません。SSHTunnelForwarderはコマンドラインのpythonでは正常に動作しますが、Apache WSGIアプリケーションでインポートエラーが発生しました
with SSHTunnelForwarder(
('ip', 22),
ssh_password="pass",
ssh_username="name",
remote_bind_address=('localhost', 3306)) as server:
#connect DB
問題は、私はmod_wsgiを持つのapache2でWSGIアプリケーションのコードの同じ部分を展開したとき、私はエラーを得た:
ImportError: /home/user/anaconda2/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so: undefined symbol: X509_get_signature_nid
私は、ApacheがLD_LIBRARY_PATH
を輸出しているので、それはだと思った、その/home/user/anaconda2/lib/
ではありません。その後、ファイル/opt/lampp/bin/envvars
を変更して、末尾に1行のexport LD_LIBRARY_PATH=/home/user/anaconda2/lib
を追加しました。私はその後Apacheを再起動しましたが、同じエラーが発生しました。
私が無視した他のenv変数はありますか?
私は歩くことはできません。 – franky
mod_sslを使用していない場合は、ロードしないでください。あるいは、代わりにmod_wsgi-expressを使用して別のインスタンスを実行し、Apache(mod_sslを使用している)がプロキシに向いているようにしてください。 Anaconda Pythonを使用しないでください。システムのPythonを代わりに使用してください。これは、Apacheが使用するものと同じSSLライブラリを使用する必要があります。 –