web-dev-qa-db-ja.com

WindowsのPyusb-利用可能なバックエンドなし

pythonアプリケーションインターフェイスをUSB経由でNFCデバイスと接続しようとしています。最良のオプションはpyusbのようですが、libusbバックエンドに接続することはできません。私は取得し続けます

ValueError:利用可能なバックエンドはありません

スタックトレースを見て、usb/backend/libusb10.py(pyusbの一部)がlibusb-1.0.dllをロードしてバックエンドとして使用しようとしていることがわかりましたが、見つかりません。それは私の道にないということではなく、私のコンピューターにあるということでもありません!

Libusb-win32( http://libusb.org/wiki/libusb-win32 )をインストールしましたが、結果のディレクトリにはlibusb0.dllしか含まれていないようです。 libusb-1.0.dllはどこにありますか?

私はそのdllをどこで入手できるか、またはpyusbをWindows 7で動作させるための別の提案を知りたいと思っています。

24
user634340

libusb-win32-devel-filter-1.2.6.0.exe をダウンロードしてインストールします。動作するはずです。

14
beebek

最近、開発中のUSBデバイスと通信しようとすると、同様の問題が発生しました。 libusb-1.0.dllを探してウェブを探し回ったが、運がなかった。ソースコードは見つかりましたが、ビルドもインストールもできませんでした。最終的に、libusb0.dllであるlibusb-win32バイナリをインストールしました。

PyUSBはlibusb-1.0、libusb0、およびopenUSBバックエンドを検索します。

libusb0.dllはすでに私のシステムにありましたが、まだ何かが正しくセットアップされていませんでした、PyUSBは動作していませんでした。

here の指示に従って、フィルタードライバーをインストールするために提供されているGUIツールを使用してドライバーをダウンロードしてインストールし、INFウィザード。 INFウィザードを実行するまで。

私はプログラミングにかなり慣れていないので、明確なドキュメント/例が不足しているため、これをまとめてかなりイライラさせています。

7
Dave L.

私はPython 2.6.5、libusb-win32-device.bin-0.1.12.1およびpyusb-1.0.0-a0をWindowsで使用していますXPシステムとValueError: No backend available

この問題に対するWeb上の本当の助けがなかったので、ctypes util.pyPath変数を使用してライブラリファイルを見つけることに多くの時間を費やしました。私のpathにはwindows\system32が含まれておらず、PYUSBにはライブラリが見つかりませんでした。 path変数を更新しましたが、USBは動作しています。

5
George G

「libusb APIには2つのバージョンがあります。現在のlibusb-1.0 AP​​I、およびその旧バージョンlibusb-0.1。 "( http://www.libusb.org/ )" libusb-win32はUSBライブラリのポートですlibusb-0.1からMicrosoft Windowsオペレーティングシステムへ」。「 同じページ1.0.9は現在のバージョンです)libusb-1.0同等、フォルダが見つかりますWin32、あなたのlibusb-1.0.dll で遊ぶ!ビルドすることもできます: http://www.libusb.org/wiki/windows_backend

[〜#〜] edit [〜#〜]ビルドする必要があります(ダウンロード元/ http://sourceforge.net/ projects/libusb/files/libusb-1.0 / )tarballは2012年のもので、最新のソースは2014-06-15のものです。

1
Liviu

PYUSBを使用してUSB経由でNFCデバイスに接続するには、そのデバイスのバックエンドをインストールする必要があります。libusbデバイス以外のデバイスにはバックエンドはないと思います。

バックエンドを構築します。デバイスのドライバー(.sysファイル)を知る必要があるので、ラッパーDLLを記述して、デバイスの機能を公開できます。DLL PIDとVIDに基づいてデバイスを見つける方法、デバイスを開く別の方法、データを送信する別の方法などが必要になります...

0
tbenisa

Windows 10でも同じ問題がありましたPython 2.7.16とPython 3.7.2。python -m pip install libusbを介して)libusbをインストールしましたが、また、libusb-win32のインストールに関する上記のアドバイスは私には機能しませんでした; 2つのリンク(元の投稿と@beebekの回答)のどちらも存在しませんでした。

didが機能するのは、@ user1495323によるコメントです:libusb-1.0.dllC:\Users\username\AppData\Roaming\Python\Python27\site-packages\libusb\_platform\_windows\x64\からC:\Windows\System32\にコピーしました

0
user9393931

念のため:

Windowsではこれを試していませんが、Macintoshではこのエラーを回避するためにDYLD_LIBRARY_PATHパスを設定する必要がありました。

export DYLD_LIBRARY_PATH =/opt/local/lib

この変数を設定するかどうかの議論は here です。

0
fixxxer