Plone tranning can't install in OSX 13.0 M1

I already install homebrew
with
Python 3.10.8
GNU Make 4.4

PIP do working
And with the path can run directly

Then I follow the step in

make build

bash: line 0: inherit_errexit: invalid shell option name

make: *** [Makefile:30: bin/pip] Error 2

Anyone can give me so hits how to fix this?

Here's the line that fails:

That line is just an echo with some variables, so it should continue. If you know Make, then you can figure out that the failing target was bin/pip. Perhaps try the commands in the Makefile target bin/pip to see where it fails?

Thanks for your quick reply
I hand input line by line of the Makefile and now plone is working

But I am now stuck in the section 7.2.2

yarn

Error return
env: node: No such file or directory

Is that another better / easier material that I can read and learn?

Just to be clear, did you follow only one of 7.1.1 or 7.1.2? Do not do both.

Next, in 7.1.2., did you follow this?

Prepare the pre-requisites explained in Pre-requisites for installation.

For this Training? No, but I would strongly recommend that you file an issue with the Training repository with the issue you found. It is more likely the authors will notice and improve the instructions.

For Plone in general, perhaps? We are in the process of improving the Install documentation, based on feedback.

Thanks for your reply

I now try to follow the doc in

and after
cookiecutter https://github.com/collective/cookiecutter-plone-starter

it return error
/bin/python3: Error while finding module specification for 'import sys; print((int(sys.version_info[0]), int(sys.version_info[1])) > tuple(map(int, "3.8".split("."))))' (ModuleNotFoundError: No module named 'import sys; print((int(sys')

Any idea how to fix this?

@jensens

$ pyenv local 3.9.5
$ python -m 'import sys; print((int(sys.version_info[0]), int(sys.version_info[1])) > tuple(map(int, "$(PYTHON_VERSION_MIN)".split("."))))'
/home/yurj/.pyenv/versions/3.9.5/bin/python: Error while finding module specification for 'import sys; print((int(sys.version_info[0]), int(sys.version_info[1])) > tuple(map(int, "$(PYTHON_VERSION_MIN)".split("."))))' (ModuleNotFoundError: No module named 'import sys; print((int(sys')

Seems something is wrong. It should be -c instead of -m and this happen

$ python -c 'print(tuple(map(int, "3.8".split("."))))'
(3, 8)
$ python -c 'print(tuple(map(int, "$(PYTHON_VERSION_MIN)".split("."))))'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '$(PYTHON_VERSION_MIN)'

I think it is mixing python with the shell? Seems it is not replacing the shell variable with the value.

So should I use python 3.10 or other version for plone 6?

I would recommend using 3.10.7 performance is very good.

Yes. For new projects, it is a good idea to start with the latest Python.

I will also say that I had a similar issue as you with the detection of a supported Python version. I debugged this line:

Going from a fading memory, I found that that line returned an empty string for print((int(sys.version_info[0]), int(sys.version_info[1])). I cannot remember exactly what I did to fix it, but I think it had something to do with configuring pyenv to use the correct Python version so that this command in the Makefile would pull in the Python version I expected. Wish I had written it down now.

1 Like

My I know which version of python you are using now for plone 6?

Thanks

It was on my crusty 10-year old macBook Pro, but I don't remember the Python version I expected. This was not really a Python version thing, but something else about my environment. I recall that I backed up my ~/.bashrc, or maybe ~/.zshrc and other resource files, and started over from scratch. Something in there was hosing pyenv, preventing it from choosing the correct Python I wanted. Fortunately I rarely use that MBP, and only for travel, so I didn't care what I did to its environment.

change python -m to python -c in that script in cookiecutter and see if it goes over.

pyenv on my Mac

  • Plone 6.0.0b3 (6008)
  • CMF 2.6.0
  • Zope 5.6
  • Python 3.10.7 (main, Oct 3 2022, 23:35:45) [Clang 14.0.0 (clang-1400.0.29.102)]
  • PIL 9.2.0 (Pillow)
  • WSGI: On
  • Server: waitress 2.1.2