Contact Us
24/7
Python BlogDjango BlogSearch for Kubernetes Big DataSearch for Kubernetes AWS BlogCloud Services

Blog

<< ALL BLOG POSTS

How to Set Up a Plone Site with pip install

|
April 5, 2022

Plonistas have been dreaming of pip install plone for getting a new Plone project up and running for more than a decade — see this mailing list thread from 2010. While there have been numerous attempts, and progress has been made (e.g., Alex Clark's plock), the process had issues and was never fully supported by the Plone community.

Today, we are closer to being able to set up a Plone site with pip than ever before. In fact, this feature will soon be part of the official installation method with Docker.

There are no instructions available in the official Plone documentation for using the pip install method, but using my Plone knowledge and hints from the Zope docs, I was able to get a Plone site mostly running on my own. 

When I got an AttributeError, I searched for usable instructions. Based on this forum post from David Bain, it turns out I was pretty close. I wasn't passing in any parameters for constraints or Plone version, I had simply done pip install plone, which installed Plone 5.2. But with the instructions below, I was able to get the alpha version of Plone 6 running:

$ ~/.pyenv/versions/3.8.6/bin/python -m venv env
$ source env/bin/activate
$ pip install Plone -c https://dist.plone.org/release/6.0-dev/constraints.txt -f https://dist.plone.org/release/6.0-dev/
$ mkwsgiinstance -d ./profiles
$ runwsgi -v profiles/etc/zope.ini

Since this currently uses an alpha version of Plone, it is incomplete and not all the pieces are working, but it is a running Plone site!

The real benefit for the pip install method is being able to use it with Docker (see https://github.com/plone/plone-backend). These advancements are paving the way for new developers to easily get started with Plone.

Read "How to Set Up Plone 6 Using Docker" in this blog post. 

How can we assist you in reaching your objectives?
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.