{"id":24861,"library":"zc.buildout","title":"zc.buildout","description":"A powerful build system for managing development buildouts, automating setup of projects with multiple components. Version 5.2.0, with a stable release every few years.","status":"active","version":"5.2.0","language":"python","source_language":"en","source_url":"https://github.com/buildout/buildout","tags":["buildout","build","automation","zc","namespace"],"install":[{"cmd":"pip install zc.buildout","lang":"bash","label":"pip install"}],"dependencies":[{"reason":"Runtime dependency for egg handling and entry points.","package":"setuptools","optional":false},{"reason":"Common recipe, not required but often used.","package":"zc.recipe.egg","optional":true}],"imports":[{"note":"'buildout' is a separate package on PyPI; the top-level module is inside the 'zc' namespace.","wrong":"import buildout","symbol":"buildout","correct":"import zc.buildout"},{"note":"Wrong top-level import due to namespace.","wrong":"from buildout import Buildout","symbol":"Buildout","correct":"from zc.buildout import Buildout"}],"quickstart":{"code":"import zc.buildout\nimport os\n\n# Basic usage: run from a directory with a buildout.cfg\nif os.path.exists('buildout.cfg'):\n    buildout = zc.buildout.Buildout(os.getcwd())\n    buildout.install(None)\nelse:\n    print('No buildout.cfg found; create one first.')\nprint('Buildout ran successfully.')\n","lang":"python","description":"Programmatic invocation of buildout; typically invoked via the 'bin/buildout' script."},"warnings":[{"fix":"Replace 'download-cache = ...' with 'download-directory = ...' in buildout.cfg.","message":"In version 5.0.0, the 'download-cache' option was removed. Use 'download-directory' instead.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Ensure you have Python >= 3.9 installed.","message":"Python 3.9+ required as of 5.0.0. Python 2.7 and older 3.x are no longer supported.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Use 'import zc.buildout' and ensure the namespace package 'zc' is installed.","message":"The 'zc.buildout' package installs the 'buildout' console script, but importing 'buildout' in Python gives a different package. Always import 'zc.buildout'.","severity":"gotcha","affected_versions":"all"},{"fix":"Use the 'pip' recipe or manual 'pip install -e .' inside the buildout environment.","message":"The 'develop' recipe (zc.recipe.devel) is deprecated in favor of 'pip install -e' within the buildout environment.","severity":"deprecated","affected_versions":">=5.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Change to 'import zc.buildout'.","cause":"Incorrect import statement; using 'import buildout' instead of 'import zc.buildout'.","error":"ImportError: No module named buildout"},{"fix":"Use 'from zc.buildout import Buildout' and ensure you're using zc.buildout >=5.0. For older versions, see documentation.","cause":"Old version of zc.buildout (<5.0) had Buildout class in a different location, or incorrect import path.","error":"AttributeError: module 'zc.buildout' has no attribute 'Buildout'"},{"fix":"Escape '%' as '%%' in values where '%' is literal, e.g., 'url = http://example.com%%path'.","cause":"Buildout config files use '%(...)s' substitution, but the parser interprets '%' specially.","error":"ConfigParser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%('"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}