skip to navigation
skip to content

plock 0.2.0

Plock is a Plone Installer for the Pip-loving Crowd

Latest Version: 0.6.5


Plock is a Plone Installer for the Pip-loving Crowd



Plock requires an internet connection.


Plock supports the latest release and only the latest release of Plone, currently Plone 4.3.

Installing and running Plone with Plock and Virtualenv looks like this:

$ virtualenv-2.7 .
$ source bin/activate
(venv)$ pip install plock
(venv)$ plock .
Plock is installing Plone. This may take a while.......(3)....(4)....(4)....(4)....(5)....(5)....(9)....(14)....(21)....(24)....(29)....(33)....(38)....(43)....(48)....(54)....(58)....(62)....(66)....(71)....(74)....(78)....(78)....(83)....(87)....(89)....(92)....(97)....(98)....(98)....(98)....(98)....(98)....(100)....(102)....(103)....(108)....(110)....(113)....(115)....(120)....(123)....(128)....(133)....(138)....(142)....(148)....(153)....(158)....(161)....(163)....(168)....(171)....(175)....(179)....(181)....(184)....(189)....(193)....(195)....(198)....(203)....(205)....(210)....(214)....(221)....(224)....(228)....(234). done.
(venv)$ plone fg
2013-12-29 10:42:29 INFO ZServer HTTP server started at Sun Dec 29 10:42:29 2013
    Port: 8080
2013-12-29 10:42:36 INFO Zope Ready to handle requests


Plone uses Buildout to manage its installation and configuration. Plock creates a buildout.cfg file for you that initially looks like this:

extends =



Plock lists packages on PyPI with a description, keyword, or summary containing “plone”. Results may include packages that are not installable in the current release of Plone. This issue may be addressed in a future release of plock.

To list available add-ons:

$ plock --list-addons

To install add-ons, add the desired Python package name(s) to the command line e.g.:

$ plock --add-on Products.PloneFormGen

Restart Plone and install the add-on(s) in Plone via Site Setup -> Add-ons. After you install add-ons with Plock your buildout.cfg file will look like this:

extends = release.cfg

eggs =


Environment variables


If you are already familiar with Buildout, you may be using a ~/.buildout/default.cfg file to define various settings such as the Buildout eggs-directory. In this case, you probably want to use the eggs installed in your already-defined eggs-directory (rather than letting Plock create and populate a new eggs-directory). To configure such behavior, set PLOCK_EXPERT to True e.g.:

$ export PLOCK_EXPERT=True

Now Plock will respect your ~/.buildout/default.cfg settings. Alternatively you can use the --expert command line argument to enable expert mode.


If you are installing via a slow internet connection, you can adjust the timeout length from its default value of 45 seconds to whatever you like with the PLOCK_TIMEOUT variable:

$ export PLOCK_TIMEOUT=60


Why build Plock on top of Buildout?

Plock is a work around for pip install Plone which works but requires a lengthy requirements.txt, and lacks additional features provided by Buildout that are needed to use Plone.

Why support pip?

To advance the state of Plone such that Buildout can be used, but not required.

Why make Buildout optional?

To market Plone to Python programmers who are generally more familiar with pip than Buildout.

Why the name Plock?

Plock is a single by the band Plone.


0.1.9 (2013-12-29)

  • Try bin/command before command

0.1.8 (2013-12-28)

  • Support mutually exclusive options plock . and plock -l
  • Restore preserve addons functionality and make it default

0.1.7 (2013-12-28)

  • New features:
    • Create install_dir if it does not exist
    • Use Plock Pins instead of PythonPackages as zc.buildout configuration host
    • Add -v, –version to display version
  • Bug fixes
    • Don’t break –list-addons
    • Don’t break –install-addons
  • Removed features:
    • Remove –insecure
    • Remove –virtualenv
    • Remove –zope2-only

0.1.6 (2013-08-12)

  • Bug fixes:
    • Fix Buildout command execution

0.1.5 (2013-08-12)

  • Bug fixes:
    • Fix Buildout command execution

0.1.4 (2013-08-12)

  • New features:
    • Add --expert command line argument, does same thing as PLOCK_EXPERT environment variable
    • Add --insecure command line argument to allow extending remote hosted configuration files
  • Bug fixes:
    • Prevent inadvertently switching from Plone to Zope2 or vice versa
    • Configure Buildout command relative to current working directory, instead of relying on source bin/activate

0.1.3 (2013-07-31)

  • New features:
    • Added experimental --zope2-only option to install Zope2 only.
  • Bug fixes:
    • Exit Plock when egg count remains the same for longer than or equal to PLOCK_TIMEOUT

0.1.2 (2013-07-29)

  • Document PLOCK_EXPERT environment variable to respect .buildout/default.cfg

  • Bug fixes:
    • Fixed ref to args.add_on via --preserve

0.1.1 (2013-07-28)

  • Fix “brown bag”

0.1.0 (2013-07-28)

  • Make “secure”
    • All Buildout configuration files (for Plone, Zope2, the ZTK, etc.) are included in plock; this eliminates the possibility of a MITM-attack via remote extends (now you just need to trust PyPI and
  • Changed features:
    • Renamed script: install-plone to plock.
    • Renamed arg: --install-addons to --add-on (to improve argparse-provided usage statement).

0.0.9 (2013-07-25)

  • Bug fixes:
    • Don’t print “Wrote buildout.cfg” if buildout.cfg exists.

0.0.8 (2013-07-25)

  • New features:
    • Added –write-config to write buildout.cfg and exit.

0.0.7 (2013-07-24)

  • Bug fixes:
    • Restore -U

0.0.6 (2013-07-24)

  • Bug fixes:
    • Make sure addons list is sorted.

0.0.5 (2013-07-24)

  • New features:
    • Added --raw, for use with --list-addons e.g. bin/install-plone –list–addons –raw
    • Added --preserve for use with --install-addons e.g. bin/install-plone –install-addons Products.PloneFormGen –preserve
  • Bug fixes:
    • bin/install-plone –install-addons PACKAGE(S) can now be run the first time to install both Plone and add-ons.
    • bin/install-plone –install-addons PACKAGE(S) saves a copy of buildout.cfg and reverts changes if a Buildout run fails.

0.0.4 (2013-07-23)

  • Provide updated add-on installation instructions
  • Install add-ons with bin/install-plone –install-addons PACKAGE(S)

0.0.3 (2013-07-22)

  • List add-ons with bin/install-plone –list-addons

0.0.2 (2013-07-19)

  • Provide add-on installation instructions
  • Write local buildout.cfg instead of relying on -c remote_cfg.cfg

0.0.1 (2013-07-15)

  • Initial release
File Type Py Version Uploaded on Size (md5) Source 2014-02-22 16KB