一个zc.buildout扩展来解决使用python的鸡和蛋问题

slapos.rebootstrap的Python项目详细描述


使用buildout提供的python重新运行buildout

buildout 2.0不再支持在 单体建筑。这个扩展使我们可以使用 通过构建指定的python部分及其 依赖项,然后用可执行文件重新生成。

使用量

构建python需要一个部分。您需要通过python指定它 buildout部分中的参数,与buildout 1.x相同。 节必须提供可执行选项,该选项提供指向python的路径 可执行。

并将slapos.rebootstrap添加到buildout部分的extensions参数中。

使用任何python引导并运行buildout。如果这个分机 检测到用于运行构建的sys.executable不同于 在python部分提供的可执行文件中,它将试图找到 可执行。如果它不存在,它将安装本节。 然后使用新的python可执行文件重新安装buildout。后期扩建 run将继续使用新的python。

示例配置文件和调用

[buildout]
extensions = slapos.rebootstrap
python = slapospython

parts =
  realrun

[slapospython]
recipe = plone.recipe.command
stop-on-error = true
bin_dir = ${buildout:parts-directory}/${:_buildout_section_name_}/bin
executable = ${:bin_dir}/python
command = mkdir -p ${:bin_dir} && cp -f /usr/bin/python ${:executable}

[realrun]
recipe = plone.recipe.command
command =
  echo Running with python ${buildout:executable}
update-command = ${:command}

启动并运行此构建后,它将打印:

使用python/path/to/buildout/parts/slapospython/bin/python运行

运行测试

此软件包的测试可以简单地运行:

$ python setup.py test

请记住,干净的python环境是必需的,最好的是 由buildout或virtualenv提供,不带站点包。

更改

4.1(2017-06-06)

  • 修复manifest.in:缺少一些文件。

4.0(2017-06-05)

完成重新实施:

  • 工作完全到位,甚至可以切换到不同版本的python。
  • 更新bin/buildout以立即在随后的 构建运行。

对于slapos,第二点需要完成实例关联 使用构建的python。

3.10(2017-03-15)

  • 删除zc.buildout版本固定以防止在版本为 改变。

3.9(2017-03-15)

  • 在reboot()中删除zc.buildout版本固定以防止循环进入 版本更改的情况。

3.8(2017-03-13)

  • 只有在以下情况下才使用专用的重新引导目录 buildout:已设置rebootstrap目录。

3.7(2016-08-18)

  • 保留bin目录以便在 合适的位置。

3.6(2016-06-30)

  • 为slapos.package的用例添加更多参数。

3.5(2016-06-10)

  • 在以下情况下显式指定python解释器和配置文件 调用新的构建过程来构建重新引导目录。

3.4(2016-06-10)

  • 使用专用的构建目录来构建重新引导 Python。3.2中的更改是错误的,因为它导致无限循环 为不同版本的python重新引导和构建。

3.3(2016-01-20)

  • 忽略卸载部分()中的MissingSection异常。

3.2(2015-11-10)

  • 支持zc.buildout>;=2.0.0。
  • 使用与正常构建相同的部件目录,以便我们可以 构建速度更快,代码也更简单。
  • python部分现在由构建中的python参数指定 区域
  • 运行python时用原始python自动重新启动 零件已拆下。

3.1(2011-06-24)

  • 在rebootstrap部分支持eggs参数以添加额外的 重新启动的鸡蛋捆绑式建筑。

3.0(2011-05-27)

  • 从slapos.tool.rebootstrap 2.4重命名

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java利用Android的surfaceView   服务器不通过socket接受java中的客户端请求   带有文本标签和文本字段的用户界面java fx验证问题   java是否可以使用Wine在Linux上运行Eclipse Portable?   运行时的java意图参数   java不支持新的白俄罗斯卢布。util。通货   java Struts2文件上载NullPointerException   为什么PowerShell显示“找不到符号”错误,而VS代码Java进程控制台运行得很好?   创建意图的java空指针异常   ArrayList的java打印索引<String[]>   xpath java。伊奥。IOException:服务器返回了URL:http://www.w3.org/TR/html4/strict.dtd   java KeyListener未激活   java导入编译为jar的包:坏的类文件,类文件包含错误的类,包不存在错误   java将图像路径从onActivityResult传递到onClick函数   java Catch block不允许用户继续执行程序   java Spring Mvc不适用于除`/`