python程序寫詩_將Python詩歌與D結合起來

在與docker一起使用poetry時,需要記住以下幾點。

安裝

安裝poetry的正式方法是通過:curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python

這種方式允許poetry及其依賴項與依賴項分離。但是,在我看來,這不是一件好事,原因有二:poetry版本可能會得到更新,它將破壞您的生成。在這種情況下,可以指定POETRY_VERSION環境變量。安裝人員會尊重的

我不喜歡在沒有任何可能的文件修改保護的情況下,把東西從internet導入容器的想法

所以,我使用pip install 'poetry==$POETRY_VERSION'。如您所見,我仍然建議您鎖定您的版本。

另外,在您的pyproject.toml中固定此版本:[build-system]

# Should be the same as `$POETRY_VERSION`:

requires = ["poetry>=1.0"]

build-backend = "poetry.masonry.api"

它將保護您免受本地環境和docker環境之間版本不匹配的影響。

緩存依賴項

我們希望緩存我們的需求,并且只在pyproject.toml或poetry.lock文件更改時重新安裝它們。否則構建會很慢。為了實現工作緩存層,我們應該放置:COPY poetry.lock pyproject.toml /code/

在安裝poetry之后,但在添加任何其他文件之前。

虛擬人

接下來要記住的是virtualenv創建。我們不需要它在docker中。它已經被孤立了。所以,我們使用poetry config settings.virtualenvs.create false設置來關閉它。

開發與生產

如果像我一樣在開發和生產中使用相同的Dockerfile,則需要根據某些環境變量安裝不同的依賴項集:poetry install $(test "$YOUR_ENV" == production && echo "--no-dev")

這樣$YOUR_ENV將控制要安裝的依賴項集:all(默認)或production only with --no-dev標志。

您還可以添加更多選項以獲得更好的體驗:--no-interaction不要問任何互動問題

--no-ansi使輸出更方便日志的標志

結果

你會得到類似的結果:FROM python:3.6.6-alpine3.7

ARG YOUR_ENV

ENV YOUR_ENV=${YOUR_ENV} \

PYTHONFAULTHANDLER=1 \

PYTHONUNBUFFERED=1 \

PYTHONHASHSEED=random \

PIP_NO_CACHE_DIR=off \

PIP_DISABLE_PIP_VERSION_CHECK=on \

PIP_DEFAULT_TIMEOUT=100 \

POETRY_VERSION=1.0.0

# System deps:

RUN pip install "poetry==$POETRY_VERSION"

# Copy only requirements to cache them in docker layer

WORKDIR /code

COPY poetry.lock pyproject.toml /code/

# Project initialization:

RUN poetry config virtualenvs.create false \

&& poetry install $(test "$YOUR_ENV" == production && echo "--no-dev") --no-interaction --no-ansi

# Creating folders, and files for a project:

COPY . /code

你可以在這里找到一個完全工作的現實生活的例子:wemake-django-template

2019-12-17更新將poetry更新為1.0

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457888.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457888.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457888.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Azure運維系列 4:安裝和使用Azure PowerShell管理云

前面講到了很多的管理方式,包括Azure中國最近更新的預覽版管理門戶和Azure云助理,都是非常不錯的管理Azure的方式,今天我們再來介紹一種更加高效的管理方式Azure PowerShell。熟悉命令行的朋友都知道,Linux之所以那么好用是因為其…

[轉]char * 和字符數組

[轉]char * 和字符數組 原文地址:http://www.cnblogs.com/jeakon/archive/2012/05/27/2816809.html 代碼中的int * i就是我們關注的焦點。它是一個指向int指針。也就是說:i指向一個內存地址,從這個地址開始存儲了一個數據。int * i中的int標明…

設備模型1

作為開頭篇,我不想寫HELLLOWORLD驅動,甚至字符設備驅動的開發,這樣文章充斥在各大網站上的博客上,隨便搜搜,就可以找到幾百篇。這是最基本的東西,通過這些內容的學習,我們要掌握LINUX驅動的基本…

如何使用Android Studio把自己的Android library分享到jCenter和Maven Central

第一部分:在bintray上創建package首先,你需要在bintray上創建一個package。為此,你需要一個bintray賬號,并在網站上創建一個package。第一步:在bintray.com上注冊一個賬號。(注冊過程很簡單,自己…

python2編碼_Python2字符編碼

我們通常見到的字符串編碼主要是三種GB2312/GBK、Unicode、UTF-8。GB2312/GBK是多字節(multibytes)編碼的一種,屬于“ASCII的加強版”,與之平行的由Big5、ShiftJIS之類的編碼各自為政,所有這些用兩個字節表示漢字的多字節編碼標準統稱為ANSI編…

angularJs關于指令的一些冷門屬性

我們使用ng的時候,經常會使用到指令,大家所熟知的屬性我在這里就不介紹了,講講大家沒怎么留意的屬性 1.multiElement 這是指定指令作用區間的功能,最常用的就是ng-repeat-start和ng-repeat-end了。 2.priority 指令優先級&#xf…

設備模型2

前言 在上一篇中,我們大致描述了LINUX設備模型,我們先來總結一下三要素的關系。 從圖中可以看出,Linux設備模型就是"總線、設備、驅動、類"這四個概念之前的相互關系;這也是Linux2.6內核抽象出來的用于管理系統中所有設備的模型圖; 簡單地描述…

angular自定義指令詳解

指令(directive)是angular里面最核心也是最難懂的東西,在慕課網看了下大漠窮秋老濕的視頻,自己百度半天做了一些小test,總算把一切都搞明白了。 先列出學習來源: 指令中controller和link的區別:…

delphi7aes加密解密與java互轉_跨語言(java vs python vs nodejs)的RSA加解密問題探討

多次被問到這樣的問題:java服務端的rsa加密操作已經完成,返回一個16進制的字符串給python平臺,但是在python進行私鑰解密的時候發現行不通。。。。前端python加密,后端用java解密,解不出來還有諸如nodejs從理論上來說&…

類的定義、成員定義修飾符

類的定義 修飾符含義1無或internal 只能在當前項目中訪問類,其它項目引用后也無法訪問2public 可以任何地方訪問類3abstract 不能實例化,只能供繼承之用4sealed 不能供派生之用,只能實例化5internal abstract136public abstract237intern…

設備模型3

在上一篇分析中,多次提到了SYSFS,這是個什么東西?這可是個很大的TOPIC,關于它的講述可以寫本書,但是我們暫時的目標不是要完全啃投它所有的東西,沒時間,沒精力,我們只要掌握我們需要…

浪潮之巔讀后感

這幾天看到一本非常好的書《浪潮之巔》。浪潮,指的是時代的大潮。而浪潮之巔,顧名思義就是指站在時代潮流的巔峰,引領時代潮流,扛起發展大旗。而本書就是在介紹各大處在浪潮之巔的IT公司的歷史及發展。 書中有句話說得好&#xff…

利用dft的定義計算dft的matlab程序_CP2K教程系列之靜態計算(Pymatflow篇)

本系列CP2K教程是《CP2K菜根譚》的升級版,在舊版基礎上添加了如何結合Pymatflow工具簡化計算流程的內容。話不多說,本文將為您帶來CP2K系列教程中的靜態計算部分。靜態計算設置靜態計算是大多數人接觸第一性原理計算后第一次運行的計算類型。很多其它類型…

機器學習:最大似然估計與最大后驗概率估計

在機器學習領域,概率估計是經常用到的一種模型,而概率估計中,我們經常會看到兩種估計模型,一種是最大似然估計,即 Maximum likelihood, 另外一種就是最大后驗概率估計,即 Maximum posterior &am…

ubuntu14.04安裝git

參考教程:git介紹:安裝,使用,創建分支 安裝的方法有兩種,一種直接是通過ubuntu的APT安裝,這種方法最簡便,缺點是版本可能不是最新的。所有還有另一種方法是下載源碼進行安裝,這種能…

微軟是如何戲耍程序員們的

2019獨角獸企業重金招聘Python工程師標準>>> 別用微軟的東西。商業目的性太強,千萬別被微軟牽著鼻子走,血淋淋的教訓。微軟推出的垃圾多了去了。它什么都想做,很多都沒做好: MFC:Win31時代出生,…

3d立體相冊特效html網頁代碼_新聞類網頁正文通用抽取器

項目起源開發這個項目,源自于我在知網發現了一篇關于自動化抽取新聞類網站正文的算法論文——《基于文本及符號密度的網頁正文提取方法》這篇論文中描述的算法看起來簡潔清晰,并且符合邏輯。但由于論文中只講了算法原理,并沒有具體的語言實現…

ubuntu14.04安裝 R16 Tina Linux SDK

第一步:由于是14.04系統所以這樣$sudo -i $cd /etc/apt/sources.list.d $echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.list $apt-get update $apt-get install ia32-libs $r…

分答

用戶在分答上可以自我介紹或描述擅長的領域,設置付費問答的價格,其他用戶感興趣就可以付費向其提問。分答的收入分配機制增加了信息的價值,分答中信息接收者被區分成了兩種身份。首先提問的人是一種付費懸賞模式,當回答完畢內容沉…

字節數組轉換為圖片_每日一課 | Python 3 TypeError:無法將“字節”對象隱式轉換為str...

將Python 2套接字示例轉換為Python 3whois.py import sysimport sockets socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("whois.arin.net", 43))s.send((sys.argv[1] "\r\n").encode())response ""while True: data s.re…