python后台项目_用buildout来构建python项目

buildout是什么

Buildout是一个基于Python的构建工具, 通过一个配置文件,可以从多个部分创建、组装并部署你的应用,即使应用包含了非Python的组件,Buildout也能够胜任. Buildout不但能够像setuptools一样自动更新或下载安装依赖包,而且还能够像virtualenv一样,构建一个封闭隔离的开发环境.

buildout 的中文文档非常稀少,这里有篇blog,抄一些东西过来

步骤

假设你有一个项目newproject,从来用过buildout,安装什么的就不说了

cd newproject

buildout init

wget -O bootstrap.py https://bootstrap.pypa.io/bootstrap-buildout.py

python bootstrap.py

此时你可以看到生成了一些目录:eggs, develop-eggs,bin,parts等,先不管

vim buildout.cfg

将下面的东西加到 [buildout] 段, 可以新建一个versions.cfg来做以前pip时requirements.txt的作用

show-picked-versions=true

extends = versions.cfg

update-versions-file = versions.cfg

versions = versions

例如项目依赖为ipython,vim versions.cfg

[versions]

ipython = 5.1.0

vim buildout.cfg,添加一个develop = 的玩意儿,假设开发的东西是个包,那么目录为.,并且需要写一个setup.py,否则执行bin/buildout会报错

[buildout]

develop = .

随便先写一个简单的setup.py, 其中package_dir={'': 'src'}必写,src为你项目的代码根目录,当然如果有依赖包的话需要些install_requires

# -*- coding: utf-8 -*-

from setuptools import find_packages, setup

setup(

name='buildout_demo',

version='0.0.1',

license='MIT',

author='',

author_email='',

description='buildout demo',

url='',

packages=find_packages(exclude=['tests']),

package_data={'buildout_demo': ['README.md']},

package_dir={'': 'src'},

)

vim buildout.cfg, 注意这里面一定要有一个part =的东西

然后执行 bin/buildout, 你就会看到buildout会自动下载一些包(例如这里的ipython)丢到eggs目录下

添加part

[buildout]

parts = tools

[tools]

recipe = zc.recipe.egg

interpreter = ipython

eggs = ipython

[ls_root]

recipe = plone.recipe.command

command = ls -al /

update-command = ${:command}

其中,每个part都必须有recipe这个玩意儿,而recipe则可以认为是buildout一些工作流的命令,例如 zc.recipe.egg是把包装到egg目录, plone.recipe.command 是在buildout时可以执行的某些命令, 可以在 pypi 搜索 buildout recipe列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值