Zope のインストール

このドキュメントでは zc.buildout (推奨) または pip を使った Zope のインストール方法について説明します。

前提

Zope をインストールするには、次の前提を満たしておく必要があります。

  • Zope がサポートする Python のバージョン。Python がシステムレベルのパッケージからインストールされていれば、開発サポートも含みます。Zope がサポートするバージョンは 3.7 から 3.11 までです。

  • Zope は Python の zlib モジュールをインポートします。Python をソースからビルドするなら、システムの zlib に対応するヘッダが既にインストールされていることを確認してください。

  • Python の拡張モジュールをビルドできる C コンパイラ(gcc 推奨)。

  • Linux に同梱されていた Python のインタプリタを使っているなら、 開発者用パッケージをインストールしてください。例えば、Ubuntu 18.03 の Python 3 であれば、次のように入力してください。

    $ sudo apt-get install python3-dev
    

zc.buildout を使った Zope のインストール

zc.buildout は強力なツールで、既定のソフトウェア構成と環境について再現性あるビルドを実現します。Zope の開発者は Zope 自体を開発するために zc.buildout を使うのは勿論のこと、Zope の基礎となるパッケージも開発しています。

zc.buildout を使った Zope ソフトウェアのインストールは次の手順を伴います。

  • 同梱されている標準の buildout コンフィグを使おうと考えているなら、PyPI で配布される Zope のソースをダウンロードして展開します。

  • 仮想環境を作ります。

  • 仮想環境のなかに zc.buildout をインストールします。

  • buildout を実行します。

次の例は Linux で Zope バージョン 5.0 を使うものです。お望みのバージョンで読み替えてください。

同梱の標準 buildout コンフィグ

注釈

The standard buildout configuration is designed to create scripts needed for developing and testing Zope, it is not for production use. Please use a custom buildout configuration, a minimal example is shown below.

$ wget https://pypi.org/packages/source/Z/Zope/Zope-5.0.tar.gz
$ tar xfvz Zope-5.0.tar.gz
$ cd Zope-5.0
$ python3.7 -m venv .
$ bin/pip install -U pip wheel zc.buildout
$ bin/buildout

カスタム buildout コンフィグ

Zope に同梱されていた buildout コンフィグを使うことなく、自分自身の buildout コンフィグを使うこともできます。

カスタム buildout コンフィグでのインストールでは、Zope を先にダウンロードしておく必要はありません。

$ python3.7 -m venv zope
$ cd zope
<create buildout.cfg in this folder>
$ bin/pip install -U pip wheel zc.buildout
$ bin/buildout

最小限のコンフィグ

これは最小限の buildout.cfg の設定例です。

[buildout]
extends =
    https://zopefoundation.github.io/Zope/releases/5.0/versions-prod.cfg
parts =
    zopescripts

[zopescripts]
recipe = zc.recipe.egg
interpreter = zopepy
eggs =
    Zope
    Paste

plone.recipe.zope2instance を使う

もっと楽をするために、plone.recipe.zope2instance を使うこともできます。これは次のドキュメント Zope の設定と実行 で語られる設定についてのタスクの多くを自動化します。plone.recipe.zope2instance は無数のオプションを持つので、PyPI のページを見てください。

[buildout]
extends =
    https://zopefoundation.github.io/Zope/releases/5.0/versions-prod.cfg
parts =
    zopeinstance

[zopeinstance]
recipe = plone.recipe.zope2instance
eggs =
user = admin:adminpassword
http-address = 8080
zodb-temporary-storage = off

この種のインストールがもたらす特徴のひとつは、同梱の waitress 以外の WSGI サーバーと簡単に統合できることです。Zope のインスタンスを起動するときに、使いたい WSGI サーバーのコンフィグファイルのパスを指定できます。これは、gunicorn のように PasteDeply と互換性のあるエントリーポイントを提供する WSGI サーバーで動作します。自分自身で .ini ファイルを作る必要があります。そして、WSGI サーバーの egg を、eggs の指定に含めるのを忘れないでください。

[zopeinstance]
recipe = plone.recipe.zope2instance
eggs =
    gunicorn
user = admin:adminpassword
http-address = 8080
zodb-temporary-storage = off
wsgi = /path/to/zope.ini

pip を使った Zope のインストール

pip を使った Zope ソフトウェアのインストールは次の手順を伴います。

  • 仮想環境を作ります(アクティベートする必要はありません)。

  • Zope とそれが依存するものをインストールします。

例は Linux での手順です。バージョン "5.0" を最新のバージョンに置き換えてください。最新のバージョンは https://zopefoundation.github.io/Zope/ で見つけることができます。

$ python3.7 -m venv zope
$ cd zope
$ bin/pip install -U pip wheel
$ bin/pip install Zope[wsgi]==5.0 \
  -c https://zopefoundation.github.io/Zope/releases/5.0/constraints.txt

requirements ファイルを使って Zope をインストールすることもできます。このインストール方法では実際には必要のないパッケージがインストールされることがあることに注意してください。(言い換えれば、setup.pyinstall_requires セクションにリストされているものよりも多くのものがインストールされることがあります。)

$ bin/pip install \
-r https://zopefoundation.github.io/Zope/releases/5.0/requirements-full.txt

Sphinx を使ったドキュメントのビルド

zc.buildout をインストールに使ったのであれば、HTML のドキュメントをローカルでビルドできます。

$ bin/make-docs