2016-08-22 7 views
0

ファイル内でAdafruit_DHTライブラリを使用しています。pyinstallerを使用してコンパイルしようとすると、Raspberry_Pi_Driver.so:共有オブジェクトファイルを開くことができません。 通常のRPi(モデル2ではなく)とラスベスを使用しています。私がコンパイルしようとしているファイルは、それだけでうまく動作します。 Raspberry_Pi_Driver.soはそこにあります。 grep Raspberry_Pi_Driver.soとそれが存在しました。私はpyinsatllerをコンパイルするときに--hidden-import = Adafruit_DHTも使用しようとしましたが、それもうまくいきませんでした。コンパイル時にエラーは発生しません。 コンパイル後に気づきました。ビルドフォルダには、ドライバなどを持ったAdafruit_DHTフォルダがあります。 何が起こっているのでしょうか?ライブラリがビルドフォルダの下で再作成されている可能性があります。これはファイルを実行するときに混乱しますか?pyinstaller Adafruit DHTライブラリraspberry_Pi_Driver.so:共有オブジェクトを開くことができません

+0

ダイナミックリンカが.soを探している場所を確認するには 'LD_DEBUG'を設定します。 (http://www.bnikolic.co.uk/blog/linux-ld-debug.html)。デフォルトのパス/ lib/usr/libなどにない場合は、LD_LIBRARY_PATHを設定する必要があります。 – Pawel

+0

あなたのコードを['pyinstaller' tempディレクトリ](https://pythonhosted.org/PyInstaller/operating-mode)に向けるように、[this](http://stackoverflow.com/a/32048136/3837382)を試すことができます。 html#how-the-one-file-program-works)を使用します。これが動作しない場合は、 '--hidden-import'オプションで再度試してください。 – Repiklis

+0

@Pawel:ld_debugを設定する方法の例を表示できますか? exeファイルを生成するとき、または実行するときですか? – Hans

答えて

0

私はこのファイルを作成するときに '-p/path/to/mylib'を追加したばかりで、mylibはAdafruit_DHTフォルダのあるディレクトリに追加しました(k4ml.me/posts/pyinstaller.htmlのおかげで) Adafruit_DHT_Driver.soファイルがそこにありました。

関連する問題