2017-09-25 3 views
0

でconda Python環境のセットアップのlibusbをする:私は「それができるので、この問題が発生したと仮定していどうだから私はconda環境でpyusb使用しようとしているが、それは以下のエラーで失敗マック

>>> import usb.core 
>>> usb.core.find() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Users/foo/Developer/anaconda3/envs/delme/lib/python3.6/site-packages/usb/core.py", line 1263, in find 
    raise NoBackendError('No backend available') 

libusbを見つける。私はlibusblibusb1pipとシステム全体(libusblibusb-compat)のbrew経由でconda環境にインストールしようとしましたが、これらのどれも役に立たなかった。

+0

pyusbはバックエンドをどのように見つけようとしますか? – darthbith

+0

'ctypes.util.find_library'を使用しているようです – Milad

+0

[この質問](https://stackoverflow.com/questions/31148387/which-paths-does-python-ctypes-module-search-for-libraries-on -mac-os)が助けになりました。 '/ usr/local/lib'を手動で' DYLD_LIBRARY_PATH'に追加するとenv変数find_libraryはlibusbを見ることができますが、すでにそこにあるはずだと思います。 – Milad

答えて

0

何が起こっているのか分かりましたので、私自身の質問にも答えてもいいかもしれません。他の人が役に立つと思うかもしれません。

私がもう覚えていない理由のため、何かをコンパイルしようとしたときにDYLD_FALLBACK_LIBRARY_PATHにいくつかのパスを追加しました。 dyldのマニュアルによると、DYLD_FALLBACK_LIBRARY_PATHのデフォルト値は$(HOME)/ lib:/ usr/local/lib:/ lib:/ usr/libであり、libusbがどこにあるかをカバーしますが、DYLD_FALLBACK_LIBRARY_PATHを拡張することによってそのデフォルト値は失われます。

同様の問題がある場合は、これらの変数を確認してください。

関連する問題