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

subprocess.CalledProcessError: Command '['./Python.framework/Versions/3.11/bin/python3.11', '-s', '-m', 'ensurepip']' died with <Signals.SIGKILL: 9> #32

Open
AymericFerreira opened this issue Oct 11, 2023 · 9 comments

Comments

@AymericFerreira
Copy link

AymericFerreira commented Oct 11, 2023

Hello,

I am trying to create a relocatable python version from an ARM Mac (M1).
I would like a python3.10 or newer. Here is the command I am using :

./make_relocatable_python_framework.py --python-version=3.10.9 --os-version=11 --no-unsign --pip-requirements=requirements.txt

After this I receive this error :

Ensuring pip is installed... Traceback (most recent call last): File "/Users/support/Downloads/relocatable-python/make_relocatable_python_framework.py", line 108, in <module> main() File "/Users/support/Downloads/relocatable-python/make_relocatable_python_framework.py", line 94, in main install_extras( File "/Users/support/Downloads/relocatable-python/locallibs/install.py", line 108, in install_extras ensure_pip(framework_path, version) File "/Users/support/Downloads/relocatable-python/locallibs/install.py", line 35, in ensure_pip subprocess.check_call(cmd) File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['./Python.framework/Versions/3.10/bin/python3.10', '-s', '-m', 'ensurepip']' died with <Signals.SIGKILL: 9>.

Note that with the exact same code I am able to create a relocatable python using an x86 Mac. I am missing something for ARM ?

Thank you

@gregneagle
Copy link
Owner

I've run this tool on Apple silicon Macs many many times successfully, even within the past month. "<Signals.SIGKILL: 9>" feels more like some external ("security"?) process is killing the tool.

@AymericFerreira
Copy link
Author

AymericFerreira commented Oct 23, 2023

Thank you for your response. Upon further investigation, it appears that the issue is specific to Python versions running on macOS 11. I've tested Python versions ranging from 3.7 to 3.11, and the problem starts from Python 3.9.13.

Interestingly, Python 3.9.13 has two available variants: one for macOS 10.9 and another for macOS 11. In this context, the macOS 10.9 variant works correctly on ARM, while the macOS 11 variant encounters issues, which continue to persist in subsequent Python versions.

I'm currently using Ventura version 13.4.1. I will try to verify this behaviour on another ARM-based Mac.

@AymericFerreira
Copy link
Author

Hello,

We just received a new ARM Mac and I decided to see if I am having the same problem as before on a fresh computer. I'm encountering the same issue while trying to create a Python framework on a new Mac with an M2 Pro SOC. Here is the steps I did on a fresh Mac running Sonoma 14.3 with Xcode 15.2 installed and a fresh clone of relocatable-python:

  • sudo xcode-select --switch /Applications/Xcode.app
  • ./make_relocatable_python_framework.py --python-version 3.11.7 --os-version 11

The above step produce a Python.framework that I can use on my computer. However, when I compress it and send it through platforms like Slack and then download it back, the framework becomes corrupted, and I'm unable to start it.
image

I suspect that the signing process might be causing this issue. I also tried adding the --no-unsign argument, and come back to the previous subprocess error and the Sigkill:9
Here is the attached command line and result
python.txt

Am I missing something ? Are there any missing dependencies that could be causing this problem?

If I could any additional test I would be happy to help.

@gregneagle
Copy link
Owner

"However, when I compress it and send it through platforms like Slack and then download it back, the framework becomes corrupted"
This sounds like an issue outside of the tool, then.
Munki uses this tool (make_relocatable_python_framework.py) to create a Python framework for Munki's use. It is then packaged up as part of the Munki tools. It then successfully installs on well over a thousand Macs here, and hundreds of thousands of Macs worldwide...

@shakfu
Copy link

shakfu commented Jun 30, 2024

I'm having a similar issue on macOS except that the user directory is interfering with ensurepip from the relocatable python installation:

% ./make_relocatable_python_framework.py --os-version =11 --python-version=3.12.4
Downloading https://www.python.org/ftp/python/3.12.4/python-3.12.4-macos11.pkg...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 44.0M  100 44.0M    0     0  9938k      0  0:00:04  0:00:04 --:--:-- 10.4M
Expanding /var/folders/vs/jr1s5dfj02vbwyg_lrc8jz800000gn/T/tmpug4o5cnl...
Extracting /var/folders/vs/jr1s5dfj02vbwyg_lrc8jz800000gn/T/tmpug4o5cnl__expanded__/Python_Framework.pkg/Payload to ./Python.framework...
Ensuring correct modes for files in $HOME/relocatable-python/Python.framework...
Analyzing $HOME/relocatable-python/Python.framework...
..................................
/usr/bin/install_name_tool -id @rpath/Versions/3.12/Python $HOME/relocatable-python/Python.framework/Versions/3.12/Python
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/Python (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/Python (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/Python @rpath/Versions/3.12/Python $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12-intel64
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12-intel64 (for architecture x86_64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/Python @rpath/Versions/3.12/Python $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12 (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12 (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/Python @rpath/Versions/3.12/Python $HOME/relocatable-python/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/Python @rpath/Versions/3.12/Python $HOME/relocatable-python/Python.framework/Versions/3.12/Python
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/Python (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/Python (for architecture arm64)

/usr/bin/install_name_tool -id @rpath/Versions/3.12/lib/libtcl8.6.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtcl8.6.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtcl8.6.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtcl8.6.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libtcl8.6.dylib @rpath/Versions/3.12/lib/libtcl8.6.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtcl8.6.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtcl8.6.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtcl8.6.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libtcl8.6.dylib @rpath/Versions/3.12/lib/libtcl8.6.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_tkinter.cpython-312-darwin.so
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_tkinter.cpython-312-darwin.so (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_tkinter.cpython-312-darwin.so (for architecture arm64)

/usr/bin/install_name_tool -id @rpath/Versions/3.12/lib/libpanelw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libpanelw.5.dylib @rpath/Versions/3.12/lib/libpanelw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib (for architecture arm64)

/usr/bin/install_name_tool -id @rpath/Versions/3.12/lib/libssl.3.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libssl.3.dylib @rpath/Versions/3.12/lib/libssl.3.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libssl.3.dylib @rpath/Versions/3.12/lib/libssl.3.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so (for architecture arm64)

/usr/bin/install_name_tool -id @rpath/Versions/3.12/lib/libcrypto.3.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libcrypto.3.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libcrypto.3.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libcrypto.3.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libcrypto.3.dylib @rpath/Versions/3.12/lib/libcrypto.3.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libcrypto.3.dylib @rpath/Versions/3.12/lib/libcrypto.3.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libcrypto.3.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libcrypto.3.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libcrypto.3.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libcrypto.3.dylib @rpath/Versions/3.12/lib/libcrypto.3.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_hashlib.cpython-312-darwin.so
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_hashlib.cpython-312-darwin.so (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_hashlib.cpython-312-darwin.so (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libcrypto.3.dylib @rpath/Versions/3.12/lib/libcrypto.3.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so (for architecture arm64)

/usr/bin/install_name_tool -id @rpath/Versions/3.12/lib/libformw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libformw.5.dylib @rpath/Versions/3.12/lib/libformw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib (for architecture arm64)

/usr/bin/install_name_tool -id @rpath/Versions/3.12/lib/libtk8.6.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtk8.6.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtk8.6.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtk8.6.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libtk8.6.dylib @rpath/Versions/3.12/lib/libtk8.6.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtk8.6.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtk8.6.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtk8.6.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libtk8.6.dylib @rpath/Versions/3.12/lib/libtk8.6.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_tkinter.cpython-312-darwin.so
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_tkinter.cpython-312-darwin.so (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_tkinter.cpython-312-darwin.so (for architecture arm64)

/usr/bin/install_name_tool -id @rpath/Versions/3.12/lib/libmenuw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libmenuw.5.dylib @rpath/Versions/3.12/lib/libmenuw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib (for architecture arm64)

/usr/bin/install_name_tool -id @rpath/Versions/3.12/lib/libncursesw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libncursesw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libncursesw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libncursesw.5.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libncursesw.5.dylib @rpath/Versions/3.12/lib/libncursesw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libncursesw.5.dylib @rpath/Versions/3.12/lib/libncursesw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libncursesw.5.dylib @rpath/Versions/3.12/lib/libncursesw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib (for architecture arm64)
/usr/bin/install_name_tool -change /Library/Frameworks/Python.framework/Versions/3.12/lib/libncursesw.5.dylib @rpath/Versions/3.12/lib/libncursesw.5.dylib $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libncursesw.5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libncursesw.5.dylib (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libncursesw.5.dylib (for architecture arm64)

/usr/bin/install_name_tool -add_rpath @executable_path/../../../ $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12-intel64
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12-intel64 (for architecture x86_64)
/usr/bin/install_name_tool -add_rpath @executable_path/../../../ $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12 (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12 (for architecture arm64)
/usr/bin/install_name_tool -add_rpath @executable_path/../../../../../../ $HOME/relocatable-python/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python (for architecture x86_64)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: $HOME/relocatable-python/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python (for architecture arm64)
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtk8.6.dylib with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtk8.6.dylib: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12 with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtcl8.6.dylib with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/libtcl8.6.dylib: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/libssl.3.dylib: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libcrypto.3.dylib with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/libcrypto.3.dylib: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/libformw.5.dylib: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libncursesw.5.dylib with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/libncursesw.5.dylib: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/Python with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/Python: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_tkinter.cpython-312-darwin.so with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_tkinter.cpython-312-darwin.so: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_hashlib.cpython-312-darwin.so with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_hashlib.cpython-312-darwin.so: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/libmenuw.5.dylib: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12-intel64 with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12-intel64: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python: replacing existing signature
Re-signing $HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib with ad-hoc signature...
$HOME/relocatable-python/Python.framework/Versions/3.12/lib/libpanelw.5.dylib: replacing existing signature

*********************************************************
*** Python user files exist that conflict with the    ***
*** version of relocatable python you are trying to   ***
*** create. This can result in extra python modules   ***
*** not being installed properly or out of date.      ***
*** Please remove these files or create this package  ***
*** under a fresh user account.                       ***
*** The files are located at:                         ***
*** $HOME/Library/Python/3.12/lib/python/site-packages ***
*********************************************************

Ensuring pip is installed...
Looking in links: /var/folders/vs/jr1s5dfj02vbwyg_lrc8jz800000gn/T/tmpwgbp4l7t
Requirement already satisfied: pip in /Users/sa/Library/Python/3.12/lib/python/site-packages (24.1)
Installing wheel...
$HOME/relocatable-python/Python.framework/Versions/3.12/bin/python3.12: No module named pip
Traceback (most recent call last):
  File "$HOME/relocatable-python/./make_relocatable_python_framework.py", line 108, in <module>
    main()
  File "$HOME/relocatable-python/./make_relocatable_python_framework.py", line 94, in main
    install_extras(
  File "$HOME/relocatable-python/locallibs/install.py", line 109, in install_extras
    install("wheel", framework_path, version)
  File "$HOME/relocatable-python/locallibs/install.py", line 48, in install
    subprocess.check_call(cmd)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./Python.framework/Versions/3.12/bin/python3.12', '-s', '-m', 'pip', 'install', 'wheel']' returned non-zero exit status 1.

@gregneagle
Copy link
Owner

I'm sorry -- I just really don't know enough about all the intricacies around pip to help other that to suggest you do exactly what's in the error message: "Please remove these files or create this package under a fresh user account."

@shakfu
Copy link

shakfu commented Jul 1, 2024

@gregneagle Thanks for your reply.

Sorry, I really should have explained myself better.

In previous versions of pip, this exact code on macOS would have done the expected thing.

After the changes in pip which introduced the --break-system-packages requirement unless one install to a virtualenv, the practice to get back earlier behavior is to install one's local packages with both ' --userand--break-system-packagesflags. This installs everything includepipandwheelto $HOME/Library/Python/3.xx/lib/python/site-packages` on macOS.

This means that to currently make ensurepip work in a relocatable-python install one has to have temporarily removed pip from $HOME/Library/Python/3.xx/lib/python/site-packages. Then it will work as expected / before.

It is now seemingly difficult to get isolated behavior in ensurepip

@shakfu
Copy link

shakfu commented Jul 1, 2024

It is now seemingly difficult to get isolated behavior in ensurepip

Actually, after some research, it looks like there is a way to get the same behavior as before: just add --root= to ensurepip

So for example, after ./configure, make, make install DESTDIR=/tmp/abc in a python 3.12 source directory, one will get the following pleasing warning:

Installing collected packages: pip
  WARNING: The scripts pip3 and pip3.12 are installed in '/tmp/abc/usr/local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-24.0

@shakfu
Copy link

shakfu commented Jul 2, 2024

Looks like I spoke too soon. The --root method indicated above doesn't resolve this issue. I'll post to python packaging and where this goes.

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