pyauth / python-pkcs11

PKCS#11/Cryptoki support for Python
MIT License
150 stars 71 forks source link

New realese with support for python >= 3.10 on Windows #159

Open pwl8 opened 1 year ago

pwl8 commented 1 year ago

Hello, latest released version: 0.7 do not contain a PR with fixes for installation on Windows, when python version is greater or equal to 3.10 (actually installation on 3.12 is failing as another issue points out https://github.com/danni/python-pkcs11/issues/165): https://github.com/danni/python-pkcs11/commit/e35e6c45e3dcaaa1511262121ff4ab6769de941e. Is is feasible to push a new release, so those changes could be included when package is installed with pip install? So installation error could be avoided. Thanks!

pwl8 commented 1 year ago

Hello @danni, do you think you could find some time to look into this? I would really appreciate it.

danni commented 1 year ago

Hi, I'm afraid I don't have a windows box. But could you try running this PR and let me know how it goes for you?

pwl8 commented 1 year ago

Hi, Sorry for late response.

I've tested current master ff20b84cf66b176c95034bb4c7ea27c86dc0d3cb and https://github.com/danni/python-pkcs11/pull/144 on Windows10. Master seems to working fine for all version from 3.8 to 3.11. PR is failing for 3.8 and 3.9. Therefore I think that current master could be possible promoted as new release 0.7.1 (or 0.8.0)?

Master:

master commit ff20b84cf66b176c95034bb4c7ea27c86dc0d3cb with pip install . for py38, py39, py310, py311 on Windows machine and it installation is passing for all version.

PR:

Also as you requested I run the same test on https://github.com/danni/python-pkcs11/pull/144. And here I have errors for py38 and py39.

py39: commands[2]> python -m pip install . Processing c:\workspace\repos\python-pkcs11 Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'error' error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [15 lines of output] Traceback (most recent call last): File "C:\Workspace\repos\python-pkcs11.tox\py39\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in main() File "C:\Workspace\repos\python-pkcs11.tox\py39\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "C:\Workspace\repos\python-pkcs11.tox\py39\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) File "C:\Users\c\AppData\Local\Temp\pip-build-env-ufqp2zpc\overlay\Lib\site-packages\setuptools\build_meta.py", line 355, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) File "C:\Users\c\AppData\Local\Temp\pip-build-env-ufqp2zpc\overlay\Lib\site-packages\setuptools\build_meta.py", line 325, in _get_build_requires self.run_setup() File "C:\Users\c\AppData\Local\Temp\pip-build-env-ufqp2zpc\overlay\Lib\site-packages\setuptools\build_meta.py", line 341, in run_setup exec(code, locals()) File "", line 9, in TypeError: unsupported operand type(s) for |: 'type' and 'type' [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Tox config

I have used tox for those test using following tox.ini configuration and command py -3.11 -m tox -r -c .\tox.ini -v However I am not 100% that this is a valid method.

[tox] env_list = py{38,39,310,311}

[testenv] skip_install = True commands = python -m pip cache purge python -m pip install .

KingCZE commented 9 months ago

It worked in my conda python 3.11 environment, but not on the Win native python 3.12. The issue is still there.