"aiocoap[tinydtls]" intsllation on Windows
Closed this issue · 5 comments
Installation of aiocoap on windows 10 failed.
Below is the result while installing DTLSSocket:
Requirement already satisfied: aiocoap[tinydtls] in c:\users\poma\appdata\local\programs\python\python39\lib\site-packages (0.4.1)
Collecting DTLSSocket>=0.1.11a1
Using cached DTLSSocket-0.1.12.tar.gz (150 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Requirement already satisfied: Cython in c:\users\poma\appdata\local\programs\python\python39\lib\site-packages (from DTLSSocket>=0.1.11a1->aiocoap[tinydtls]) (0.29.23)
Building wheels for collected packages: DTLSSocket
Building wheel for DTLSSocket (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\poma\appdata\local\programs\python\python39\python.exe' 'c:\users\poma\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\poma\AppData\Local\Temp\tmp50fmsn4a'
cwd: C:\Users\poma\AppData\Local\Temp\pip-install-qjnm36oe\dtlssocket_84d6e6abbabc4c5a833f9b11840f25e0
Complete output (11 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\DTLSSocket
copying DTLSSocket\__init__.py -> build\lib.win-amd64-3.9\DTLSSocket
copying DTLSSocket\DTLSSocket.py -> build\lib.win-amd64-3.9\DTLSSocket
running build_ext
Running: autoconf
error: [WinError 2] The system cannot find the file specified
----------------------------------------
ERROR: Failed building wheel for DTLSSocket
Failed to build DTLSSocket
[edit: declared copy-pasted code block]
Please try installing DTLSSocket (eg. using pip install DTLSSocket
) on its own. If that works, I can look into this further here; if not, please report the issue at https://github.com/kabel42/DTLSSocket.
Tried installing using pip install DTLSSocket and still observe the same behaviour.
Collecting DTLSSocket
Using cached DTLSSocket-0.1.12.tar.gz (150 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Requirement already satisfied: Cython in c:\users\poma\appdata\local\programs\python\python39\lib\site-packages (from DTLSSocket) (0.29.23)
Building wheels for collected packages: DTLSSocket
Building wheel for DTLSSocket (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\poma\appdata\local\programs\python\python39\python.exe' 'c:\users\poma\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\poma\AppData\Local\Temp\tmpiifowlw5'
cwd: C:\Users\poma\AppData\Local\Temp\pip-install-oug3_9gb\dtlssocket_d403c46e61e34aad9200f533dd284c0a
Complete output (11 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\DTLSSocket
copying DTLSSocket\__init__.py -> build\lib.win-amd64-3.9\DTLSSocket
copying DTLSSocket\DTLSSocket.py -> build\lib.win-amd64-3.9\DTLSSocket
running build_ext
Running: autoconf
error: [WinError 2] The system cannot find the file specified
----------------------------------------
ERROR: Failed building wheel for DTLSSocket
Failed to build DTLSSocket
ERROR: Could not build wheels for DTLSSocket which use PEP 517 and cannot be installed directly
[edit: declared copy-pasted shell text block]
Mh, then there's nothing aiocoap can do about this, but maybe the DTLSSocket author can. (What aiocoap could do is use a different DTLS library, see #230, but there are not really any other candidates fitting the requirements, and chances are this is just a glitch in DTLSSocket's build system).
Please report the issue at https://github.com/kabel42/DTLSSocket which is that library's public issue tracker.
On looking in a bit more closely, this may just be for lack of autoconf being installed. I haven't used Windows in ages, and don't even know how that'd be installed there.
It may still be a good idea to take this to the DTLSSocket issue tracker though -- AFAIK Python's build system can provide binary packages for platforms that don't come with build infrastructure, and maybe that should have happened and just broke somewhere.
$ sudo apt-get install autoconf
$ pip install DTLSSocket
This fixes it for me