Open socketbox opened 12 years ago
I thought the 1.3 update had resolved this issue, but it seems I was wrong.
The problem has to do with a Makefile in the Mac/PythonLauncher
directory of the source tarball:
$ head -n 32 Python-2.7.3/Mac/PythonLauncher/Makefile.in | tail -n 4
install: Python\ Launcher.app
test -d "$(DESTDIR)$(PYTHONAPPSDIR)" || mkdir -p "$(DESTDIR)$(PYTHONAPPSDIR)"
-test -d "$(DESTDIR)$(PYTHONAPPSDIR)/Python Launcher.app" && rm -r "$(DESTDIR)$(PYTHONAPPSDIR)/Python Launcher.app"
/bin/cp -r "Python Launcher.app" "$(DESTDIR)$(PYTHONAPPSDIR)"
More specifically, $(DESTDIR)
is not properly set to the subdirectory within ~/.pythonbrew where the framework assets will be installed. This variable is passed as empty to make
when it's called after the installation changes into the Mac
subdirectory.
It seems like the makefile vars that are appended to $(DESTDIR) are incorrect in that they are absolute. More specifically, I'm talking about $(APPINSTALLDIR), $(PYTHONAPPSDIR) in
$(DESTDIR) is prepended to all of them, without exception, so it should be set to an absolute path itself, allowing variations on that base path to occur without fear of an attempted overwrite.
Process hangs on a test at the end of installation, even with the --force option. See final lines of verbose/log output below (identical regardless of pythonbrew version). It seems as if the process is actually attempting to remove a directory that's below /Applications and not the user's .pythonbrew directory.
Apologies for not including the key detail of the
--framework
flag in the original title. Without this flag, installation succeeds.