zc.buildout recipe for scripts in Unix deployments
项目描述
许多部署提供将配置与软件结合的脚本。这通常是为了使与特定软件部署一起工作更容易。
传统的Unix文件层次结构实际上并没有为这些脚本提供一个很好的共享位置;zc.recipe.deployment:script配方在部署的bin目录中生成这些脚本,但我们更希望生成的脚本与部署本身相关联。
该配方的选项与zc.recipe.egg:script配方的选项相同,但增加了必需的部署设置。使用部署的etc目录而不是buildout的bin目录。这允许通过初始化设置将特定于部署的信息嵌入到脚本中。
让我们看看一个简单的例子。我们需要一个带有console_script条目点的包
>>> write('setup.py', '''\ ... from setuptools import setup ... setup( ... name="testpkg", ... package_dir={"": "src"}, ... py_modules=["testmodule"], ... zip_safe=False, ... entry_points={ ... "console_scripts": [ ... "myscript=testmodule:main", ... ], ... }, ... ) ... ''')>>> mkdir('src') >>> write('src', 'testmodule.py', '''\ ... some_setting = "42" ... def main(): ... print some_setting ... ''')>>> write('buildout.cfg', ... ''' ... [buildout] ... develop = . ... parts = somescript ... ... [mydep] ... recipe = zc.recipe.deployment ... prefix = %s ... user = %s ... etc-user = %s ... ... [somescript] ... recipe = zc.recipe.script ... deployment = mydep ... eggs = testpkg ... scripts = myscript ... initialization = ... import testmodule ... testmodule.some_setting = "24" ... ''' % (sample_buildout, user, user))>>> print system(join('bin', 'buildout')), # doctest: +NORMALIZE_WHITESPACE Develop: 'PREFIX/.' Installing mydep. zc.recipe.deployment: Creating 'PREFIX/etc/mydep', mode 755, user 'USER', group 'GROUP' zc.recipe.deployment: Creating 'PREFIX/var/cache/mydep', mode 755, user 'USER', group 'GROUP' zc.recipe.deployment: Creating 'PREFIX/var/lib/mydep', mode 755, user 'USER', group 'GROUP' zc.recipe.deployment: Creating 'PREFIX/var/log/mydep', mode 755, user 'USER', group 'GROUP' zc.recipe.deployment: Creating 'PREFIX/var/run/mydep', mode 750, user 'USER', group 'GROUP' zc.recipe.deployment: Creating 'PREFIX/etc/cron.d', mode 755, user 'USER', group 'GROUP' zc.recipe.deployment: Creating 'PREFIX/etc/init.d', mode 755, user 'USER', group 'GROUP' zc.recipe.deployment: Creating 'PREFIX/etc/logrotate.d', mode 755, user 'USER', group 'GROUP' Installing somescript. Generated script 'PREFIX/etc/mydep/myscript'.>>> print ls("etc/mydep") drwxr-xr-x USER GROUP etc/mydep>>> cat("etc/mydep/myscript") # doctest: +NORMALIZE_WHITESPACE #!/usr/bin/python <BLANKLINE> import sys sys.path[0:0] = [ 'PREFIX/src', ] <BLANKLINE> import testmodule testmodule.some_setting = "24" <BLANKLINE> import testmodule <BLANKLINE> if __name__ == '__main__': sys.exit(testmodule.main())
版本历史
1.0.2 (2014-08-19)
修复打包错误(包含src/zc/recipe/script/README.txt)。
1.0.1 (2014-08-19)
首次公开发布。
1.0.0 (2011-12-29)
首次发布(ZC内部)。
项目详情
关闭
zc.recipe.script-1.0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 01ee94a770cef64acdb656dc88cba7432620a7ab1270a72fc23658e474b33dba |
|
MD5 | 9c35cb84ac844ba545a02528552a5bdd |
|
BLAKE2b-256 | 57e1d723eef806293f4576321c97c9fbd0123abac781c33297787683458459c6 |