-
Notifications
You must be signed in to change notification settings - Fork 344
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pip try to install sysv-ipc on Windows #858
Comments
Thanks for letting us know, likely this is caused by #856, and it needs a bit of adjusting. I'll work on a fix right away. |
I just came accross this too. Researching, I found Lines 97 to 106 in a1329a8
where platform_reqs is defined beforehandLine 26 in a1329a8
and then conditionally altered Lines 49 to 50 in a1329a8
git blames 903c5ea as the latest relevant change. I'm not sure what the exact problem is here. Technically, the condition guarding the dependence on Python 3.12.4 (tags/v3.12.4:8e8a4ba, Jun 6 2024, 19:30:16) [MSC v.1940 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.platform
'win32'
>>> import platform
>>> platform.machine
<function machine at 0x0000023AAE8CB9C0>
>>> platform.machine()
'AMD64'
>>> sys.platform == 'linux' and platform.machine != 'mips'
False Above you'll observe that |
Ah, ok. Yeah, the machine one should probably be updated. However, still strange behavior. |
Strange indeed. Just for clarity, I came here because pip names this lib as the reason for installing
|
I fixed the script locally on a windows machine with the |
I just confirmed that your PR works on Windows using
Thanks! |
Cool. However, pip install adafruit-blinka is still not working on my system, so I'm going to try and continue tracking down the issue. |
FYI, I used a fresh venv. Not sure if that helps. |
I might give that a try. I was installing it without a venv. |
Damn, same here. |
maybe switch to >>> platform.system()
'Windows' on WSL ubuntu: >>> platform.system()
'Linux' Underneath, |
I think I have a more understandable flaw. You're using ubuntu-latest in CI to build the bdist. This is understandable since the workflow uses bash's therefore, us windows users (for v8.44.0 and v8.44.1) have to install without using the bdist:
|
Huh, ok. That kind of makes sense. Well, I may just adjust it to check cpu then. It's only needed for Raspberry Pi and amlogic a311d. |
My lazy gut instinct thinks: For the meantime, just upload the sdist and rely on piwheels to provide the bdist for RPi OS. It would be nicer if the bdist could be augmented to include the platform tag instead of presuming a universal tag. Maybe cibuildwheel could do that for you, IDK. |
all we really need on windows is a Dependency specifier (see grammar)
|
Yeah, that would have worked too with the exception of it possibly failing on the mips board. However, using the CPUs for the only boards that need it worked as well. :) |
IHMO, I still think uploading a universal bdist with so many machine-specific constraints is a flawed approach. |
Fair enough. I'll update it so it's using the same string as in the requirements.txt from before I changed it. |
Ci just needs to
|
What effect will this change have? |
|
Python's build back-ends simply aren't made to support creating a platform-specific bdist from a pure python source. There are hacks out there, but there's no guarantee that some new PEP implementation will not break the build process. I understand the itch to upload bdists because they install faster, but that's why the piwheels project exists. Piwheels also helps with creating 32-bit bdists for c-extensions because we can't use a docker image to reliably create a 32-bit bdist for |
It makes sense for Blinka in particular (and possibly PlatformDetect). Want to submit a PR? |
Sure. I could have a look at PlatformDetect as well. |
PlatformDetect doesn't have any install deps (requirements.txt dynamically loaded by build backend from pyproject.toml). Unless I missed something, it looks like all platform-specific code is used at runtime. So, a universal bdist makes sense for that lib. |
Thanks, makes sense. |
Board Name
FT232H
Steps
python -m pip install adafruit-blinka
Description
When I do that on Windows, I get the following error :
Additional information
The version I'm trying to install is 8.44. This problem is not present for 8.43.
The text was updated successfully, but these errors were encountered: