摘要:是什么是一個(gè)基于的構(gòu)建工具通過(guò)一個(gè)配置文件,可以從多個(gè)部分創(chuàng)建組裝并部署你的應(yīng)用,即使應(yīng)用包含了非的組件,也能夠勝任不但能夠像一樣自動(dòng)更新或下載安裝依賴包,而且還能夠像一樣,構(gòu)建一個(gè)封閉隔離的開發(fā)環(huán)境的中文文檔非常稀少,這里有篇抄一些東西過(guò)
buildout是什么
Buildout是一個(gè)基于Python的構(gòu)建工具, 通過(guò)一個(gè)配置文件,可以從多個(gè)部分創(chuàng)建、組裝并部署你的應(yīng)用,即使應(yīng)用包含了非Python的組件,Buildout也能夠勝任. Buildout不但能夠像setuptools一樣自動(dòng)更新或下載安裝依賴包,而且還能夠像virtualenv一樣,構(gòu)建一個(gè)封閉隔離的開發(fā)環(huán)境.
buildout 的中文文檔非常稀少,這里有篇blog,抄一些東西過(guò)來(lái)
demo
步驟假設(shè)你有一個(gè)項(xiàng)目newproject,從來(lái)用過(guò)buildout,安裝什么的就不說(shuō)了
cd newproject buildout init wget -O bootstrap.py https://bootstrap.pypa.io/bootstrap-buildout.py python bootstrap.py
此時(shí)你可以看到生成了一些目錄:eggs, develop-eggs,bin,parts等,先不管
vim buildout.cfg
將下面的東西加到 [buildout] 段, 可以新建一個(gè)versions.cfg來(lái)做以前pip時(shí)requirements.txt的作用
show-picked-versions=true extends = versions.cfg update-versions-file = versions.cfg versions = versions
例如項(xiàng)目依賴為ipython,vim versions.cfg
[versions] ipython = 5.1.0
vim buildout.cfg,添加一個(gè)develop = 的玩意兒,假設(shè)開發(fā)的東西是個(gè)包,那么目錄為.,并且需要寫一個(gè)setup.py,否則執(zhí)行bin/buildout會(huì)報(bào)錯(cuò)
[buildout] develop = .
隨便先寫一個(gè)簡(jiǎn)單的setup.py, 其中package_dir={"": "src"}必寫,src為你項(xiàng)目的代碼根目錄,當(dāng)然如果有依賴包的話需要些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, 注意這里面一定要有一個(gè)part = 的東西
然后執(zhí)行 bin/buildout, 你就會(huì)看到buildout會(huì)自動(dòng)下載一些包(例如這里的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}
其中,每個(gè)part都必須有recipe這個(gè)玩意兒,而recipe則可以認(rèn)為是buildout一些工作流的命令,例如 zc.recipe.egg是把包裝到egg目錄, plone.recipe.command 是在buildout時(shí)可以執(zhí)行的某些命令, 可以在 pypi 搜索 buildout recipe列表
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45520.html
摘要:命令配置一個(gè)調(diào)用,使用在索引上的與兼容的頁(yè)來(lái)尋找和下載包。現(xiàn)在我們切回然后尋找我們的發(fā)行文件我們看到被包含在兩個(gè)索引中,讓我們移除的發(fā)行版如果你沒(méi)有指定選項(xiàng),你將被詢問(wèn)確認(rèn)刪除的交互式操作。 注:該文的原文是 Quickstart: uploading, testing, pushing releases,來(lái)自于 devpi 的官方文檔。 該快速入門文檔將引導(dǎo)你為你的 Pyt...
摘要:最近在上使用遇到了問(wèn)題,由于使用了庫(kù),其同時(shí)存在于和,的庫(kù)中,版本為,而最新的為。建議使用參數(shù)將上的開發(fā)目錄掛載到容器中,這樣僅僅使用了容器提供的環(huán)境,而代碼跟容器本身并沒(méi)有關(guān)系。支持多種,,,之類,的確非常方便。 最近在Mac上使用Python遇到了問(wèn)題,由于使用了pyOpenSSL庫(kù),其同時(shí)存在于/System/Library/Frameworks/Python.framework...
摘要:轉(zhuǎn)自程序員的資料庫(kù)最流行的模塊庫(kù)大全收藏下面的列表是最流行的模塊庫(kù),該資源列表列出了使用頻率最高的模塊庫(kù),是學(xué)習(xí)最好的資源之一,趕緊收藏吧 轉(zhuǎn)自:程序員的資料庫(kù)-最流行的Python模塊庫(kù)大全【收藏】 下面的列表是最流行的Python模塊庫(kù),該P(yáng)ython資源列表列出了使用頻率最高的Python模塊庫(kù),是學(xué)習(xí)Python最好的資源之一,趕緊收藏吧?。? os (2810) ...
摘要:快速開始在安裝之前在支持異步的過(guò)程中,都經(jīng)歷了哪些比較重大的更新。踏出第一步我們將正式使用來(lái)構(gòu)建一個(gè)項(xiàng)目,讓我們踏出第一步,利用來(lái)編寫一個(gè)返回字符串的服務(wù)程序。本次示例的源代碼全部在上,見(jiàn)。 快速開始 在安裝Sanic之前,讓我們一起來(lái)看看Python在支持異步的過(guò)程中,都經(jīng)歷了哪些比較重大的更新。 首先是Python3.4版本引入了asyncio,這讓Python有了支持異步IO的標(biāo)...
摘要:電子表格使用語(yǔ)言電子表格是辦公軟件的必備,我們最熟知的是微軟的。文中用框架來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的電子表格,所用代碼僅行。 showImg(https://segmentfault.com/img/remote/1460000019770011); 本文原創(chuàng)并首發(fā)于公眾號(hào)【Python貓】,未經(jīng)授權(quán),請(qǐng)勿轉(zhuǎn)載。 原文地址:https://mp.weixin.qq.com/s/Ob... 今天,...
閱讀 2589·2021-11-15 11:38
閱讀 2921·2021-11-02 14:44
閱讀 3870·2021-09-26 10:13
閱讀 3110·2021-08-13 15:02
閱讀 813·2019-08-30 15:56
閱讀 1524·2019-08-30 15:53
閱讀 2379·2019-08-30 13:01
閱讀 3263·2019-08-29 12:57