Hi Florian,

It looks like you are using the source tarball. Please use the binary installers for macOS. The install script will then use the python that we provide in the "conda_base" directory.

If you want to use the source installer, you can modify the ./install and ./lib/libtbx/auto_build/install_distribution.py scripts to use /usr/bin/python3 instead of /usr/bin/python. You will still need a "python" somewhere in your path and the easiest way would be to install miniconda from https://docs.conda.io/en/latest/miniconda.html and create a new conda environment with any python version ("conda create -n new_env python" will use Python 3.10). Activate the new environment ("conda activate new_env") and then you will have a "python" in your path. Then you can run

./install --prefix <prefix> --try-unsupported --use-conda --nproc <nproc>

It is recommended that you add the "--use-conda" flag since it is not likely that all the dependencies will compile from source. We have moved our dependencies to use conda so that we can more easily test different versions of Python 3. You can see that in our continuous integration output of cctbx at https://github.com/cctbx/cctbx_project.

We have conda packages for cctbx that are built to run natively on Apple Silicon and we will be doing the same for the next Phenix release.

--
Billy K. Poon
Research Scientist, Molecular Biophysics and Integrated Bioimaging
Lawrence Berkeley National Laboratory
1 Cyclotron Road, M/S 33R0345
Berkeley, CA 94720
Fax: (510) 486-5909


On Tue, Jun 21, 2022 at 4:19 PM Florian Nachon <mailinglist@nachon.net> wrote:


On 22 Jun 2022, at 00:55, Billy Poon <BKPoon@lbl.gov> wrote:

We ship our own python and 1.20.1 is the last Python 2 release. The next release will be in Python 3.

If I run sudo ./install --prefix=/Applications --try-unsupported 
then I get right away ./install: line 15: /usr/bin/python: No such file or directory

Obviously because there is no /usr/bin/python in Monterey but /usr/bin/python3… 
I can change ‘python' by ‘python3’ in the install script to go one step further, but it fails later because the install scripts always call ‘python’ instead of ‘python3’

Source installation specified.
/bin/sh: python: command not found
Traceback (most recent call last):
  File "./bin/install.py", line 268, in <module>
    installer(sys.argv[1:]).install()
  File "/Users/florian/Downloads/phenix-installer-1.20.1-4487-source/lib/libtbx/auto_build/install_distribution.py", line 198, in install
    self.install_from_source()
  File "/Users/florian/Downloads/phenix-installer-1.20.1-4487-source/lib/libtbx/auto_build/install_distribution.py", line 367, in install_from_source
    call(cmd, log=log)
  File "/Users/florian/Downloads/phenix-installer-1.20.1-4487-source/lib/libtbx/auto_build/installer_utils.py", line 55, in call
    raise RuntimeError("Call to '%s' failed with exit code %d" % (args, rc))
RuntimeError: Call to 'python modules/cctbx_project/libtbx/auto_build/bootstrap.py base build --builder phenix --nproc 10' failed with exit code 127

And an alias does not do the trick either.

So what should I do?

Florian