-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Update Python 3.x installation flags #786
Comments
Hello @simonsan , Am I right, that you request is just enabling |
Indeed, only changes would be: I checked it and nothing gets overwritten and should be fully compatible with existing Python installations (the compiled files coexist inside the directory). |
In terms of compatibility there shouldn't be a problem. The biggest concern that I have is regards to the new size. Locally I tested with Python 3.8 and a standard installation would report Updating the installation flags for all the 3.X versions would be a 400+ If we include this for Windows, then it would make sense to do this as well for Linux & Mac as well. It doesn't appear we're currently using cc @brcrista |
@konradpabjan I don't have any problems on Linux and Mac (Brew) as they both have Package Managers that where I can add these easily. It's as easy as: But I understand the size issue. What about having just the newest Python version of each Minor version (3.7x, 3.8.x) with these libraries to deal with this problem. That would be just two installations not all 3.x. Update: Also I feel like 400+GiB in size is a bit much?If we have 109 MiB per Installation more and you have 10 Installations on the Win runner that's 1 GiB more for me. Having the setups stored as well would be another GiB more, so we are talking about 2 GiB more overall here - at maximum. Or how did you calculate the 400+GiB in size? Am I overlooking something? |
For others, that probably need it and don't want to work around, this I do currently to get the Debug version for development with a I as well opened an issue in actions/setup-python#86 because I think it would be also fine, if the the debug versions (let's really just say of the last two newest major versions, 3.7x/3.8.x) could be reconfigured using
|
400+ MB, not GB, my bad. ( We have to be very careful and considerate in terms of what goes on the image because there is a limited amount of storage. Some recent issues have come up with not enough storage being available on Ubuntu due to how much software is installed (see #709) so we have to be careful. You can see in the issue that we have over 70GB of various software installed (this number is slightly different for windows). Some considerations that we follow: https://github.com/actions/virtual-environments#software-guidelines I think the solution here is to maybe have something on the We have a new feature that is on the way that will allow for extra versions of python to be downloaded using |
thanks @simonsan for the suggestion and @konradpabjan for the investigation! I agree that this seems something that should be handled in https://github.com/actions/setup-python which can probably be taught to serve debug versions as needed. @simonsan feel free to create an issue/PR there. |
Tool information
Area for Triage:
Python, Packages
Question, Bug, or Feature?:
Feature
Virtual environments affected
Can this tool be installed during the build?
Uninstall other Python versions or unset/reset PATH without any Python directories.
cmd:
IF NOT EXIST "%GITHUB_WORKSPACE%\Python38-x64-dbg\python.exe" curl --create-dirs -o "%GITHUB_WORKSPACE%\python-for-openage\python-3.8.0-amd64.exe" "https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe"
%GITHUB_WORKSPACE%\python-for-openage\python-3.8.0-amd64.exe /quiet /uninstall
setup.exe /quiet Include_debug=1 Include_dev=1 Include_lib=1 Include_pip=1 PrependPath=1 CompileAll=1 InstallAllUsers=1 TargetDir=<workspace-dir>\Python38-x64-dbg\
Are you willing to submit a PR?
Yes
LINK : fatal error LNK1104: cannot open file 'python38_d.lib'
We need a Python interpreter that is shipped with libpython and header files.
So basically it could be just working as a replacement for the usual Python installations. (although I'm not sure due to the
CompileAll
flag that compiles .py into .pyc. Don't know really if they are left as a .py as well or if they are removed and replaced.Since ever I need to download the Python setup and deinstall with it the same version from the CI just to install with the beforementioned commands. Maybe this could be the chance to finally spare this tasks :-/
cc: actions/setup-python#86
The text was updated successfully, but these errors were encountered: