-
Notifications
You must be signed in to change notification settings - Fork 71
Open
Description
Hi,
I tried to install this using the Makefile on a Debian 12 machine, however it fails with ImportError: cannot import name 'CTAP1' from 'fido2.ctap1' (/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/fido2/ctap1.py)
Here is the whole output:
arf20@thinkpad:~/source/solo1-cli$ make
python3 -m venv venv
venv/bin/pip install -U pip
Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (23.0.1)
Collecting pip
Downloading pip-25.1.1-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 2.8 MB/s eta 0:00:00
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 23.0.1
Uninstalling pip-23.0.1:
Successfully uninstalled pip-23.0.1
Successfully installed pip-25.1.1
venv/bin/pip install -U pip
Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (25.1.1)
venv/bin/pip install -U -r dev-requirements.txt
Collecting black (from -r dev-requirements.txt (line 4))
Downloading black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.metadata (81 kB)
Collecting flake8 (from -r dev-requirements.txt (line 5))
Downloading flake8-7.2.0-py2.py3-none-any.whl.metadata (3.8 kB)
Collecting flit_core>=3.7.1 (from -r dev-requirements.txt (line 6))
Downloading flit_core-3.12.0-py3-none-any.whl.metadata (888 bytes)
Collecting flit>=3.7.1 (from -r dev-requirements.txt (line 7))
Downloading flit-3.12.0-py3-none-any.whl.metadata (3.7 kB)
Collecting ipython (from -r dev-requirements.txt (line 8))
Downloading ipython-9.3.0-py3-none-any.whl.metadata (4.4 kB)
Collecting isort>=5.0.0 (from -r dev-requirements.txt (line 9))
Downloading isort-6.0.1-py3-none-any.whl.metadata (11 kB)
Collecting click>=8.0.0 (from black->-r dev-requirements.txt (line 4))
Using cached click-8.2.1-py3-none-any.whl.metadata (2.5 kB)
Collecting mypy-extensions>=0.4.3 (from black->-r dev-requirements.txt (line 4))
Downloading mypy_extensions-1.1.0-py3-none-any.whl.metadata (1.1 kB)
Collecting packaging>=22.0 (from black->-r dev-requirements.txt (line 4))
Using cached packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting pathspec>=0.9.0 (from black->-r dev-requirements.txt (line 4))
Downloading pathspec-0.12.1-py3-none-any.whl.metadata (21 kB)
Collecting platformdirs>=2 (from black->-r dev-requirements.txt (line 4))
Downloading platformdirs-4.3.8-py3-none-any.whl.metadata (12 kB)
Collecting mccabe<0.8.0,>=0.7.0 (from flake8->-r dev-requirements.txt (line 5))
Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)
Collecting pycodestyle<2.14.0,>=2.13.0 (from flake8->-r dev-requirements.txt (line 5))
Downloading pycodestyle-2.13.0-py2.py3-none-any.whl.metadata (4.5 kB)
Collecting pyflakes<3.4.0,>=3.3.0 (from flake8->-r dev-requirements.txt (line 5))
Downloading pyflakes-3.3.2-py2.py3-none-any.whl.metadata (3.5 kB)
Collecting requests (from flit>=3.7.1->-r dev-requirements.txt (line 7))
Downloading requests-2.32.4-py3-none-any.whl.metadata (4.9 kB)
Collecting docutils (from flit>=3.7.1->-r dev-requirements.txt (line 7))
Downloading docutils-0.21.2-py3-none-any.whl.metadata (2.8 kB)
Collecting tomli-w (from flit>=3.7.1->-r dev-requirements.txt (line 7))
Downloading tomli_w-1.2.0-py3-none-any.whl.metadata (5.7 kB)
Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (from flit>=3.7.1->-r dev-requirements.txt (line 7)) (25.1.1)
Collecting decorator (from ipython->-r dev-requirements.txt (line 8))
Downloading decorator-5.2.1-py3-none-any.whl.metadata (3.9 kB)
Collecting ipython-pygments-lexers (from ipython->-r dev-requirements.txt (line 8))
Downloading ipython_pygments_lexers-1.1.1-py3-none-any.whl.metadata (1.1 kB)
Collecting jedi>=0.16 (from ipython->-r dev-requirements.txt (line 8))
Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB)
Collecting matplotlib-inline (from ipython->-r dev-requirements.txt (line 8))
Downloading matplotlib_inline-0.1.7-py3-none-any.whl.metadata (3.9 kB)
Collecting pexpect>4.3 (from ipython->-r dev-requirements.txt (line 8))
Downloading pexpect-4.9.0-py2.py3-none-any.whl.metadata (2.5 kB)
Collecting prompt_toolkit<3.1.0,>=3.0.41 (from ipython->-r dev-requirements.txt (line 8))
Downloading prompt_toolkit-3.0.51-py3-none-any.whl.metadata (6.4 kB)
Collecting pygments>=2.4.0 (from ipython->-r dev-requirements.txt (line 8))
Downloading pygments-2.19.1-py3-none-any.whl.metadata (2.5 kB)
Collecting stack_data (from ipython->-r dev-requirements.txt (line 8))
Downloading stack_data-0.6.3-py3-none-any.whl.metadata (18 kB)
Collecting traitlets>=5.13.0 (from ipython->-r dev-requirements.txt (line 8))
Downloading traitlets-5.14.3-py3-none-any.whl.metadata (10 kB)
Collecting typing_extensions>=4.6 (from ipython->-r dev-requirements.txt (line 8))
Downloading typing_extensions-4.14.0-py3-none-any.whl.metadata (3.0 kB)
Collecting wcwidth (from prompt_toolkit<3.1.0,>=3.0.41->ipython->-r dev-requirements.txt (line 8))
Downloading wcwidth-0.2.13-py2.py3-none-any.whl.metadata (14 kB)
Collecting parso<0.9.0,>=0.8.4 (from jedi>=0.16->ipython->-r dev-requirements.txt (line 8))
Downloading parso-0.8.4-py2.py3-none-any.whl.metadata (7.7 kB)
Collecting ptyprocess>=0.5 (from pexpect>4.3->ipython->-r dev-requirements.txt (line 8))
Downloading ptyprocess-0.7.0-py2.py3-none-any.whl.metadata (1.3 kB)
Collecting charset_normalizer<4,>=2 (from requests->flit>=3.7.1->-r dev-requirements.txt (line 7))
Using cached charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
Collecting idna<4,>=2.5 (from requests->flit>=3.7.1->-r dev-requirements.txt (line 7))
Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests->flit>=3.7.1->-r dev-requirements.txt (line 7))
Using cached urllib3-2.4.0-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests->flit>=3.7.1->-r dev-requirements.txt (line 7))
Downloading certifi-2025.6.15-py3-none-any.whl.metadata (2.4 kB)
Collecting executing>=1.2.0 (from stack_data->ipython->-r dev-requirements.txt (line 8))
Downloading executing-2.2.0-py2.py3-none-any.whl.metadata (8.9 kB)
Collecting asttokens>=2.1.0 (from stack_data->ipython->-r dev-requirements.txt (line 8))
Downloading asttokens-3.0.0-py3-none-any.whl.metadata (4.7 kB)
Collecting pure-eval (from stack_data->ipython->-r dev-requirements.txt (line 8))
Downloading pure_eval-0.2.3-py3-none-any.whl.metadata (6.3 kB)
Downloading black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (1.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 21.7 MB/s eta 0:00:00
Downloading flake8-7.2.0-py2.py3-none-any.whl (57 kB)
Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)
Downloading pycodestyle-2.13.0-py2.py3-none-any.whl (31 kB)
Downloading pyflakes-3.3.2-py2.py3-none-any.whl (63 kB)
Downloading flit_core-3.12.0-py3-none-any.whl (45 kB)
Downloading flit-3.12.0-py3-none-any.whl (50 kB)
Downloading ipython-9.3.0-py3-none-any.whl (605 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 605.3/605.3 kB 21.5 MB/s eta 0:00:00
Downloading prompt_toolkit-3.0.51-py3-none-any.whl (387 kB)
Downloading isort-6.0.1-py3-none-any.whl (94 kB)
Using cached click-8.2.1-py3-none-any.whl (102 kB)
Downloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 24.6 MB/s eta 0:00:00
Downloading parso-0.8.4-py2.py3-none-any.whl (103 kB)
Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)
Using cached packaging-25.0-py3-none-any.whl (66 kB)
Downloading pathspec-0.12.1-py3-none-any.whl (31 kB)
Downloading pexpect-4.9.0-py2.py3-none-any.whl (63 kB)
Downloading platformdirs-4.3.8-py3-none-any.whl (18 kB)
Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)
Downloading pygments-2.19.1-py3-none-any.whl (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 24.9 MB/s eta 0:00:00
Downloading traitlets-5.14.3-py3-none-any.whl (85 kB)
Downloading typing_extensions-4.14.0-py3-none-any.whl (43 kB)
Downloading decorator-5.2.1-py3-none-any.whl (9.2 kB)
Downloading docutils-0.21.2-py3-none-any.whl (587 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.4/587.4 kB 21.6 MB/s eta 0:00:00
Downloading ipython_pygments_lexers-1.1.1-py3-none-any.whl (8.1 kB)
Downloading matplotlib_inline-0.1.7-py3-none-any.whl (9.9 kB)
Downloading requests-2.32.4-py3-none-any.whl (64 kB)
Using cached charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (147 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Using cached urllib3-2.4.0-py3-none-any.whl (128 kB)
Downloading certifi-2025.6.15-py3-none-any.whl (157 kB)
Downloading stack_data-0.6.3-py3-none-any.whl (24 kB)
Downloading asttokens-3.0.0-py3-none-any.whl (26 kB)
Downloading executing-2.2.0-py2.py3-none-any.whl (26 kB)
Downloading pure_eval-0.2.3-py3-none-any.whl (11 kB)
Downloading tomli_w-1.2.0-py3-none-any.whl (6.7 kB)
Downloading wcwidth-0.2.13-py2.py3-none-any.whl (34 kB)
Installing collected packages: wcwidth, pure-eval, ptyprocess, urllib3, typing_extensions, traitlets, tomli-w, pygments, pyflakes, pycodestyle, prompt_toolkit, platformdirs, pexpect, pathspec, parso, packaging, mypy-extensions, mccabe, isort, idna, flit_core, executing, docutils, decorator, click, charset_normalizer, certifi, asttokens, stack_data, requests, matplotlib-inline, jedi, ipython-pygments-lexers, flake8, black, ipython, flit
Successfully installed asttokens-3.0.0 black-25.1.0 certifi-2025.6.15 charset_normalizer-3.4.2 click-8.2.1 decorator-5.2.1 docutils-0.21.2 executing-2.2.0 flake8-7.2.0 flit-3.12.0 flit_core-3.12.0 idna-3.10 ipython-9.3.0 ipython-pygments-lexers-1.1.1 isort-6.0.1 jedi-0.19.2 matplotlib-inline-0.1.7 mccabe-0.7.0 mypy-extensions-1.1.0 packaging-25.0 parso-0.8.4 pathspec-0.12.1 pexpect-4.9.0 platformdirs-4.3.8 prompt_toolkit-3.0.51 ptyprocess-0.7.0 pure-eval-0.2.3 pycodestyle-2.13.0 pyflakes-3.3.2 pygments-2.19.1 requests-2.32.4 stack_data-0.6.3 tomli-w-1.2.0 traitlets-5.14.3 typing_extensions-4.14.0 urllib3-2.4.0 wcwidth-0.2.13
venv/bin/flit install --symlink
Fetching list of valid trove classifiers I-flit.validate
Extras to install for deps 'all': {'.none'} I-flit.install
Installing requirements I-flit.install
Requirement already satisfied: click>=7.1 in ./venv/lib/python3.11/site-packages (from -r /tmp/tmpbys2ene2requirements.txt (line 1)) (8.2.1)
Collecting cryptography (from -r /tmp/tmpbys2ene2requirements.txt (line 2))
Downloading cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)
Collecting ecdsa (from -r /tmp/tmpbys2ene2requirements.txt (line 3))
Using cached ecdsa-0.19.1-py2.py3-none-any.whl.metadata (29 kB)
Collecting fido2>=0.9.1 (from -r /tmp/tmpbys2ene2requirements.txt (line 4))
Using cached fido2-2.0.0-py3-none-any.whl.metadata (7.1 kB)
Collecting intelhex (from -r /tmp/tmpbys2ene2requirements.txt (line 5))
Using cached intelhex-2.3.0-py2.py3-none-any.whl.metadata (2.7 kB)
Collecting pyserial (from -r /tmp/tmpbys2ene2requirements.txt (line 6))
Using cached pyserial-3.5-py2.py3-none-any.whl.metadata (1.6 kB)
Collecting pyusb (from -r /tmp/tmpbys2ene2requirements.txt (line 7))
Using cached pyusb-1.3.1-py3-none-any.whl.metadata (2.5 kB)
Requirement already satisfied: requests in ./venv/lib/python3.11/site-packages (from -r /tmp/tmpbys2ene2requirements.txt (line 8)) (2.32.4)
Collecting cffi>=1.14 (from cryptography->-r /tmp/tmpbys2ene2requirements.txt (line 2))
Using cached cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting six>=1.9.0 (from ecdsa->-r /tmp/tmpbys2ene2requirements.txt (line 3))
Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Requirement already satisfied: charset_normalizer<4,>=2 in ./venv/lib/python3.11/site-packages (from requests->-r /tmp/tmpbys2ene2requirements.txt (line 8)) (3.4.2)
Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.11/site-packages (from requests->-r /tmp/tmpbys2ene2requirements.txt (line 8)) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./venv/lib/python3.11/site-packages (from requests->-r /tmp/tmpbys2ene2requirements.txt (line 8)) (2.4.0)
Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.11/site-packages (from requests->-r /tmp/tmpbys2ene2requirements.txt (line 8)) (2025.6.15)
Collecting pycparser (from cffi>=1.14->cryptography->-r /tmp/tmpbys2ene2requirements.txt (line 2))
Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Downloading cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl (4.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 27.8 MB/s eta 0:00:00
Using cached ecdsa-0.19.1-py2.py3-none-any.whl (150 kB)
Using cached fido2-2.0.0-py3-none-any.whl (224 kB)
Using cached intelhex-2.3.0-py2.py3-none-any.whl (50 kB)
Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)
Using cached pyusb-1.3.1-py3-none-any.whl (58 kB)
Using cached cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (467 kB)
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Installing collected packages: pyserial, intelhex, six, pyusb, pycparser, ecdsa, cffi, cryptography, fido2
Successfully installed cffi-1.17.1 cryptography-45.0.4 ecdsa-0.19.1 fido2-2.0.0 intelhex-2.3.0 pycparser-2.22 pyserial-3.5 pyusb-1.3.1 six-1.17.0
Symlinking solo -> /home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/solo I-flit.install
Writing script to /home/arf20/source/solo1-cli/venv/bin/solo I-flit.install
Writing script to /home/arf20/source/solo1-cli/venv/bin/solo1 I-flit.install
Traceback (most recent call last):
File "/home/arf20/source/solo1-cli/venv/bin/flit", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/flit/__init__.py", line 228, in main
installer.install()
File "/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/flit/install.py", line 430, in install
self.install_directly()
File "/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/flit/install.py", line 348, in install_directly
self.write_dist_info(dirs['purelib'])
File "/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/flit/install.py", line 374, in write_dist_info
metadata = common.make_metadata(self.module, self.ini_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/flit_core/common.py", line 464, in make_metadata
md_dict.update(get_info_from_module(module, ini_info.dynamic_metadata))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/flit_core/common.py", line 228, in get_info_from_module
docstring, version = get_docstring_and_version_via_import(target)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/flit_core/common.py", line 201, in get_docstring_and_version_via_import
spec.loader.exec_module(m)
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/arf20/source/solo1-cli/solo/__init__.py", line 15, in <module>
from . import client, commands, dfu, helpers, operations
File "/home/arf20/source/solo1-cli/solo/client.py", line 15, in <module>
from .devices import solo_v1
File "/home/arf20/source/solo1-cli/solo/devices/solo_v1.py", line 11, in <module>
from fido2.ctap1 import CTAP1
ImportError: cannot import name 'CTAP1' from 'fido2.ctap1' (/home/arf20/source/solo1-cli/venv/lib/python3.11/site-packages/fido2/ctap1.py)
make: *** [Makefile:54: update-venv] Error 1
arf20@thinkpad:~/source/solo1-cli$
Thank you.
Metadata
Metadata
Assignees
Labels
No labels