摘要:是什么是一個基于的構建工具通過一個配置文件,可以從多個部分創建組裝并部署你的應用,即使應用包含了非的組件,也能夠勝任不但能夠像一樣自動更新或下載安裝依賴包,而且還能夠像一樣,構建一個封閉隔離的開發環境的中文文檔非常稀少,這里有篇抄一些東西過
buildout是什么
Buildout是一個基于Python的構建工具, 通過一個配置文件,可以從多個部分創建、組裝并部署你的應用,即使應用包含了非Python的組件,Buildout也能夠勝任. Buildout不但能夠像setuptools一樣自動更新或下載安裝依賴包,而且還能夠像virtualenv一樣,構建一個封閉隔離的開發環境.
buildout 的中文文檔非常稀少,這里有篇blog,抄一些東西過來
demo
步驟假設你有一個項目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列表
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45520.html
摘要:命令配置一個調用,使用在索引上的與兼容的頁來尋找和下載包。現在我們切回然后尋找我們的發行文件我們看到被包含在兩個索引中,讓我們移除的發行版如果你沒有指定選項,你將被詢問確認刪除的交互式操作。 注:該文的原文是 Quickstart: uploading, testing, pushing releases,來自于 devpi 的官方文檔。 該快速入門文檔將引導你為你的 Pyt...
摘要:最近在上使用遇到了問題,由于使用了庫,其同時存在于和,的庫中,版本為,而最新的為。建議使用參數將上的開發目錄掛載到容器中,這樣僅僅使用了容器提供的環境,而代碼跟容器本身并沒有關系。支持多種,,,之類,的確非常方便。 最近在Mac上使用Python遇到了問題,由于使用了pyOpenSSL庫,其同時存在于/System/Library/Frameworks/Python.framework...
摘要:轉自程序員的資料庫最流行的模塊庫大全收藏下面的列表是最流行的模塊庫,該資源列表列出了使用頻率最高的模塊庫,是學習最好的資源之一,趕緊收藏吧 轉自:程序員的資料庫-最流行的Python模塊庫大全【收藏】 下面的列表是最流行的Python模塊庫,該Python資源列表列出了使用頻率最高的Python模塊庫,是學習Python最好的資源之一,趕緊收藏吧!! os (2810) ...
摘要:快速開始在安裝之前在支持異步的過程中,都經歷了哪些比較重大的更新。踏出第一步我們將正式使用來構建一個項目,讓我們踏出第一步,利用來編寫一個返回字符串的服務程序。本次示例的源代碼全部在上,見。 快速開始 在安裝Sanic之前,讓我們一起來看看Python在支持異步的過程中,都經歷了哪些比較重大的更新。 首先是Python3.4版本引入了asyncio,這讓Python有了支持異步IO的標...
摘要:電子表格使用語言電子表格是辦公軟件的必備,我們最熟知的是微軟的。文中用框架來實現一個簡單的電子表格,所用代碼僅行。 showImg(https://segmentfault.com/img/remote/1460000019770011); 本文原創并首發于公眾號【Python貓】,未經授權,請勿轉載。 原文地址:https://mp.weixin.qq.com/s/Ob... 今天,...
閱讀 2469·2021-11-15 11:38
閱讀 2844·2021-11-02 14:44
閱讀 3821·2021-09-26 10:13
閱讀 3060·2021-08-13 15:02
閱讀 780·2019-08-30 15:56
閱讀 1450·2019-08-30 15:53
閱讀 2363·2019-08-30 13:01
閱讀 3193·2019-08-29 12:57