Closed Sjors closed 4 years ago
turning this into a feature request that will help you figure it out maybe: Have failure to find_device
in the try
block could print something in a verbose mode. Same with enumerate
loop, add a verbose logging setting during ImportError
. We intentionally silence those because often they're just noise to the user.
I think we should silence errors more narrowly, if feasible. Especially now that we include all device drivers anyway.
It was very noisy before, ie "Hey you don't have Trezor drivers~!!" when someone doesn't even have a Trezor(we shouldn't be having users install stuff they don't need). That's why I suggested a verbose mode to start.
In this case it was missing the mnemonic
module. That suggests a borked virtualenv.
So one class of errors we should definitely not catch is ModuleNotFoundError
.
Try doing poetry shell
after poetry install
. That will drop you into a shell with the correct virtualenv.
That did the trick! Would be a useful instruction to add.
The other approach that worked for me was to install PyEnv and then pip3 install --user hidapi ecdsa pyaes typing_extensions mnemonic libusb1
.
Having both PyEnv and Poetry on the same user creates a world of pain by the way.
I had to use the poetry shell
trick as well otherwise I just got an empty list.
Same for me on Ubuntu 18.04 and Trezor One. Using the binary or using @achow101's trick works.
Same issue here with Ubuntu 18.04 and a Ledger Nano S. Cloning then running ./hwi.py enumerate
from the normal, already installed, python3 interpreter results in an empty list. Running it from a virtualenv with the packages listed by @Sjors works fine.
this still an issue?
Everything seems to work with the binary, but when I install from source using Poetry then
enumerate
returns an empty array. That suggest a silent failure somewhere. Any guesses?Back in #74 the empty array was a result of a missing
ecda
dependency, but that seems included above.