Skip to content
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

Dev branch build (recent in preparation for 2.1.2) fails to install on macOS x86_64 with Python 2.7 #2080

Open
gerph opened this issue Jan 5, 2025 · 6 comments

Comments

@gerph
Copy link
Contributor

gerph commented Jan 5, 2025

Environment

Os: MacOS 15.1, x86_64.

> uname -a
Darwin mooncake.local 24.1.0 Darwin Kernel Version 24.1.0: Thu Oct 10 21:02:27 PDT 2024; root:xnu-11215.41.3~2/RELEASE_X86_64 x86_64

Python version: 2.7.16

> python --version
Python 2.7.16

Pip version 20.3.4 (latest version)

> pip --version
pip 20.3.4 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)

Unicorn details

Taken from the wheels built as part of the dev branch by GitHub Actions:

https://github.com/unicorn-engine/unicorn/actions/runs/11381311478

Downloading the macos_x86_64 binary, and installing.

Problem

> 
pip install unicorn-2.1.1-py2.py3-none-macosx_12_7_x86_64.whl
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
ERROR: unicorn-2.1.1-py2.py3-none-macosx_12_7_x86_64.whl is not a supported wheel on this platform.

Diagnosis

Adding -vvv to the command line didn't yield any more information. I'm not really sure what's going on to make it not be recognised.

@Antelox
Copy link
Contributor

Antelox commented Jan 5, 2025

Hi, please give it a try with the latest artifact here:

https://github.com/unicorn-engine/unicorn/actions/runs/12609893764/artifacts/2385651403

However consider the migration to python 3 as the best option :)

@gerph
Copy link
Contributor Author

gerph commented Jan 5, 2025

Yup, I know migrating to Python 3 would be best, but it's a lot of work - the entire OS, implemented in Python, manipulates the memory and interfaces as strings - which would become bytes - and that's a lot of interfaces and implementations to change, and I just keep putting it off. :-(

The wheel from that location installed just fine, and then I ran the operating system and managed to boot into the desktop, start text editor, drawing program, bitmap editor, and then ran Hexen. This is a big win for me as the 2.x versions haven't been able to work previously with the OS, so I'm over the moon happy :-D

@Antelox
Copy link
Contributor

Antelox commented Jan 5, 2025

I’m happy to hear too. Even though consider that the py2 latest unicorn doesn’t provide all latest features. This means that while new py2 wheels will be released each time a version gets bumped, they will not contain any further new features that are present in the py3 wheel. From what I have heard the py2 is a best effort thing and the only thing that will be done is just try to provide not broken wheels.

@wtdcode
Copy link
Member

wtdcode commented Jan 6, 2025

The wheel you downloaded was pretty old and we will have working wheels tested by CI automatically, as pointed out already, since the next release thanks to @Antelox work.

@gerph
Copy link
Contributor Author

gerph commented Jan 6, 2025

Sorry, did I download the wrong thing in the first place?

I saw the announcement a little while back that there was an upcoming release and made a note to check when I had a chance. Today I had a chance so I rechecked the announcement to see if there was a link to the most recent releases and there wasn't. So I went to look at the Releases section on the repository, to see if there was a Pre-release set of downloads I could try, and there wasn't (the only pre-release I see is for 2.0.0). So I went to the Actions, and located the PyPi Distribution action, and scrolled down until I hit the first Dev branch, and looked at the artifacts it produced. I didn't notice at the time that this was 3 months old.

So... Where should I look for the most recent version that is being tested before release? Those are the 3 major places that I would have expected to find them (the announcement of the imminent release, the Releases section, and the PyPi-specific action). Is it meant to be the 'Build and publish with cibuildwheel' ? If so, that's not obvious :-(

@wtdcode
Copy link
Member

wtdcode commented Jan 6, 2025

Ah yeah, the pypi publishing workflow was no longer used and we migrated to cibuildwheel for better distribution. So you could expect the artifacts there will appear on the release note and pypi finally. Sorry for the confusion but rest assured we will have py2 wheels this time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants