-
Notifications
You must be signed in to change notification settings - Fork 45
Introduce Python virtual environments for PEP-668 compliance #717
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
base: master
Are you sure you want to change the base?
Conversation
|
Seems to build after a |
|
I did a Not perfect, but very promising! It looks like I've nearly got a full build, just missing something. |
|
This error appears to be due to a carriage return character (\r) in the script. I don't see one in my checkout of the file, so I suspect it's being added somehow, maybe by github desktop if you're using that? |
|
I used GitHub CLI to checkout this branch. I've also noticed that when I pulled the branch, something changed one of the files: Which is weird because I definitely didn't touch msg.h |
|
Yeah, this is a windowsism. I believe there's a setting in git somewhere that will not replace LF with CRLF, but I don't know what it is offhand. |
|
Finding this: https://docs.github.com/en/get-started/git-basics/configuring-git-to-handle-line-endings, it looks like I can adjust line endings behaviors in |
|
I've added these rules to Unfortunately, .4bpp doesn't want to play along. I'm puzzled as to how to get those files to behave. |
|
The Based on the |
|
This problem is essentially a problem of WSL's adaptation to Linux. A reasonable suspicion is that you did not do git pull directly under WSL, but used git tools under Windows or even unzip after download the pack under windows. One possible method is to try to use WSL console directly to do git pull. The most reasonable method is not to use WSL but to use Ubuntu OS directly. |
|
Yeah, I use a Windows 11 machine so I use a Windows terminal for Git commands and a VM or Linux subsystem for things that require Linux. So I changed the line endings to Unix manually for all the .py files in the scripts directory. And SUCCESS! Still, I wonder why trying to fix the line endings in |
|
|

This PR is a potential partial fix for the issues surfaced in #715 (comment).
Python versions since 3.12 have enforced PEP-668, which recommends the use of virtual environments (using
venv). Ubuntu 24.04 ships with Python 3.12 by default. This causes some issue with the build tools we have introduced recently (namely the TSA-processing utilities) that rely on the system-level Python. See the linked issue comment for details.The other option we have (in theory) is to have users install our Python dependencies with
--break-system-packages.In this PR:
VENV.requirements.txtfile which contains the Python dependencies that we have listed in our.github/workflows/build.yml.Left to do:
README.md(I plan to do this if this PR is acceptable to other maintainers)