Closed Helyux closed 1 year ago
Hi,
The root cause is clear: pip
is trying to build the C extension _quickjs
using Microsoft Visual Studio. However, we only support compiling for Microsoft Windows using the MinGW tooling. It is a rather painful process, but we provide pre-built binaries (wheels) for Windows so that you should be able to skip it.
In your log I see
Using legacy 'setup.py install' for quickjs, since package 'wheel' is not installed.
Please try to install wheel beforehand:
pip install wheel
pip should then be able to pick the pre-built package.
The reason is there has no 32-bit wheels.
Oh yeah, right: we only provide 64bit binaries. I wonder how much sense it would make to add 32bit binaries.
I wonder how much sense it would make to add 32bit binaries.
Maybe no sense. Most people could install/use 64-bit Python.
Ahh so because there is no 32-bit binaries it tries to build but fails on building if i understood correctly? I understand that there is almost no use for 32-bit binaries but i'm currently unable to use a 64-bit version. Maybe i can try building myself, @qwenger can u elaborate on this?
compiling for Microsoft Windows using the MinGW tooling
It's a matter of installing the winlib_mingw package (in this case the i686 version) as well as python and poetry on Windows, then running make provided by mingw.
You can check how we do it for Windows in 64bit in CI, in particular the files https://github.com/PetterS/quickjs/blob/master/.github/workflows/main.yml#L95, https://github.com/PetterS/quickjs/blob/master/.github/actions/setup-mingw/action.yml and https://github.com/PetterS/quickjs/blob/master/Makefile.
However we have no 32bit target in CI, so I'm not even sure that it compiles correctly in 32bit mode. If I get the time I'll try it in CI.
Python possibly still links to the 32-bit installation files by default for Windows. But I think it makes little sense for this project to support Windows 32-bit.
understandable, thanks for taking a look.
Any Idea what i did wrong or how to solve this?`