pyca / pynacl

Python binding to the Networking and Cryptography (NaCl) library
https://pynacl.readthedocs.io/
Apache License 2.0
1.05k stars 228 forks source link

python-3.9 wheels ? #627

Closed stonebig closed 3 years ago

stonebig commented 3 years ago

Hello,

I fail to compile pynacl from source on windows, so would greatly appreciate an Official/beta wheel for Python-3.9rc for windows 64 bit.


C:\WinP\bd39\bucod\WPy64-3902\scripts>pip install --pre  --no-index --trusted-host=None  --find-links=C:\WinP\packages.srcreq pynacl
Looking in links: c:\WinP\packages.srcreq
Processing c:\winp\packages.srcreq\pynacl-1.4.0.zip
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: six in c:\winp\bd39\bucod\wpy64-3902\python-3.9.0rc1.amd64\lib\site-packages (from pynacl) (1.15.0)
Requirement already satisfied: cffi>=1.4.1 in c:\winp\bd39\bucod\wpy64-3902\python-3.9.0rc1.amd64\lib\site-packages (from pynacl) (1.14.2)
Requirement already satisfied: pycparser in c:\winp\bd39\bucod\wpy64-3902\python-3.9.0rc1.amd64\lib\site-packages (from cffi>=1.4.1->pynacl) (2.20)
Building wheels for collected packages: pynacl
  Building wheel for pynacl (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\python.exe' 'C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\h\AppData\Local\Temp\tmpn8_p6xbt'
       cwd: C:\Users\h\AppData\Local\Temp\pip-install-3kxc5w2u\pynacl
  Complete output (77 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\nacl
  copying src\nacl\encoding.py -> build\lib.win-amd64-3.9\nacl
  copying src\nacl\exceptions.py -> build\lib.win-amd64-3.9\nacl
  copying src\nacl\hash.py -> build\lib.win-amd64-3.9\nacl
  copying src\nacl\hashlib.py -> build\lib.win-amd64-3.9\nacl
  copying src\nacl\public.py -> build\lib.win-amd64-3.9\nacl
  copying src\nacl\secret.py -> build\lib.win-amd64-3.9\nacl
  copying src\nacl\signing.py -> build\lib.win-amd64-3.9\nacl
  copying src\nacl\utils.py -> build\lib.win-amd64-3.9\nacl
  copying src\nacl\__init__.py -> build\lib.win-amd64-3.9\nacl
  creating build\lib.win-amd64-3.9\nacl\pwhash
  copying src\nacl\pwhash\argon2i.py -> build\lib.win-amd64-3.9\nacl\pwhash
  copying src\nacl\pwhash\argon2id.py -> build\lib.win-amd64-3.9\nacl\pwhash
  copying src\nacl\pwhash\scrypt.py -> build\lib.win-amd64-3.9\nacl\pwhash
  copying src\nacl\pwhash\_argon2.py -> build\lib.win-amd64-3.9\nacl\pwhash
  copying src\nacl\pwhash\__init__.py -> build\lib.win-amd64-3.9\nacl\pwhash
  creating build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_aead.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_box.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_core.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_generichash.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_hash.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_kx.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_pwhash.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_scalarmult.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_secretbox.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_secretstream.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_shorthash.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\crypto_sign.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\randombytes.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\sodium_core.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\utils.py -> build\lib.win-amd64-3.9\nacl\bindings
  copying src\nacl\bindings\__init__.py -> build\lib.win-amd64-3.9\nacl\bindings
  running build_clib
  Traceback (most recent call last):
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
      main()
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 204, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "C:\Users\h\AppData\Local\Temp\pip-build-env-m23h3ax_\overlay\Lib\site-packages\setuptools\build_meta.py", line 229, in build_wheel
      return self._build_with_temp_dir(['bdist_wheel'], '.whl',
    File "C:\Users\h\AppData\Local\Temp\pip-build-env-m23h3ax_\overlay\Lib\site-packages\setuptools\build_meta.py", line 215, in _build_with_temp_dir
      self.run_setup()
    File "C:\Users\h\AppData\Local\Temp\pip-build-env-m23h3ax_\overlay\Lib\site-packages\setuptools\build_meta.py", line 158, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 216, in <module>
      setup(
    File "C:\Users\h\AppData\Local\Temp\pip-build-env-m23h3ax_\overlay\Lib\site-packages\setuptools\__init__.py", line 163, in setup
      return distutils.core.setup(**attrs)
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\distutils\core.py", line 148, in setup
      dist.run_commands()
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\distutils\dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\Users\h\AppData\Local\Temp\pip-build-env-m23h3ax_\overlay\Lib\site-packages\wheel\bdist_wheel.py", line 290, in run
      self.run_command('build')
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\distutils\command\build.py", line 135, in run
      self.run_command(cmd_name)
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "C:\WinP\bd39\bucod\WPy64-3902\python-3.9.0rc1.amd64\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "setup.py", line 161, in run
      raise Exception("ERROR: The 'make' utility is missing from PATH")
  Exception: ERROR: The 'make' utility is missing from PATH
  ----------------------------------------
  ERROR: Failed building wheel for pynacl
Failed to build pynacl
ERROR: Could not build wheels for pynacl which use PEP 517 and cannot be installed directly

C:\WinP\bd39\bucod\WPy64-3902\scripts>
reaperhulk commented 3 years ago

We won't be adding Python 3.9 to our test matrix until it's officially released, but we probably should build an abi3 wheel that would work on all Python 3 releases we support. (This wasn't possible until very recently. We're shipping that wheel type on cryptography now, but not here).

stonebig commented 3 years ago

ok, in the mean time I removed the pynacl dependancy in paramiko, as it's apparently safe to do: https://github.com/paramiko/paramiko/blob/master/setup.py#L89..L92

so I can wait now, do at your rythm

reaperhulk commented 3 years ago

We've uploaded abi3 wheels for 1.4.0 so Windows users on pip20+ will be able to get a precompiled wheel on Windows with Python 3.9+ now.

evenaven commented 3 years ago

Any plans for official wheels now that 3.9 is officially out?

alex commented 3 years ago

We publish abi3 wheels.