當前位置:首頁 » 存儲配置 » 如何在toml文件下配置

如何在toml文件下配置

發布時間: 2023-03-30 04:41:33

python中四種配置文件

常用的配置文件後綴是.ini、.conf、.py,當然還有使用.json、.txt的,推薦使用常用的.ini、.py,配置文件的名字一般是config便於理解和使用。

ini配置文件,這類配置文件我們使用內置configparser庫來使用,它可以實現配置文件的寫入、更新、刪除、讀取等操作非常方便,建議使用這種方式。
新建一個config.ini的配置文件內容如下,編碼格式要是 utf-8 以免出錯。:

其中[]中的是section節點,該節點下的等式是option即鍵=值
然後每一行寫一個option ,每個選項就是一個option。直接寫名字,後面加 " = " 再加上它的值就行,字元串的表示不要加引號,否則引號也會被解析出來。
可以在配置文件中加入注釋 ,但是注釋必須是單獨的一行,且以 「#」 開頭。只是每次運行時不會讀入注釋,只要運行一次,寫入文件後,所有的注釋都會消失。

config.json文件

使用python內置的 json 標准庫進行解析ini文件。
load() 從json文件中讀取json格式數據
loads() 將字元串類型數據轉化為json格式數據
mp() 將json格式數據保存到文件
mps() 將json格式數據保存為字元串類型

TOML的語法廣泛地由key = "value"、[節名]、#注釋構成。
支持以下數據類型:字元串、整形、浮點型、布爾型、日期時間、數組和圖表。
config.toml文件

使用外部庫 toml 解析toml文件。

安裝:pip install toml
讀取文件

安裝:

YAML是目前最推薦的配置文件格式。優秀的配置文件標准它幾乎都有:

容易閱讀和修改,支持注釋。

支持豐富的數據類型。

不同格式的明確表達。

yaml使用時需要注意:

yaml強制縮進。雖然不規定具體縮進幾個空格,但是同一級的內容要保持相同的縮進。

冒號後面一定要加空格, 否則無法解析。

python解析 yaml 可以使用pyyaml庫,操作和標準的文件操作非常類似:

得到的data就是解析後的數據,在python當中,它是一個嵌套的字典:

想獲取某一項配置,再通過字典的操作獲取:
config.yaml文件

讀取

㈡ 用 Git 建立和託管網站

Git 是一個少有的能將如此多的現代計算封裝到一個程序之中的應用程序,它可以用作許多其他應用程序的計算引擎。雖然它以跟蹤軟體開發中的源代碼更改而聞名,但它還有許多其他用途,可以讓你的生活更輕松、更有條理。在這個 Git 系列中,我們將分享七種鮮為人知的使用 Git 的方法。

創建一個網站曾經是極其簡單的,而同時它又是一種黑魔法。回到 Web 1.0 的舊時代(不是每個人都會這樣稱呼它),你可以打開任何網站,查看其源代碼,並對 HTML 及其內聯樣式和基於表格的布局進行反向工程,在這樣的一兩個下午之後,你就會感覺自己像一個程序員一樣。不過要讓你創建的頁面放到互聯網上,仍然有一些問題,因為這意味著你需要處理伺服器、FTP 以及 webroot 目錄和文件許可權。雖然從那時起,現代網站變得愈加復雜,但如果你讓 Git 幫助你,自出版可以同樣容易(或更容易!)。

Hugo 是一個開源的靜態站點生成器。靜態網站是過去的 Web 的基礎(如果你回溯到很久以前,那就是 Web 的全部了)。靜態站點有幾個優點:它們相對容易編寫,因為你不必編寫代碼;它們相對安全,因為頁面上沒有執行代碼;並且它們可以非常快,因為除了在頁面上傳輸的任何內容之外沒有任何處理。

Hugo 並不是唯一一個靜態站點生成器。 Grav 、 Pico 、 Jekyll 、 Podwrite 以及許多其他的同類軟體都提供了一種創建一個功能最少的、只需要很少維護的網站的簡單方法。Hugo 恰好是內置集成了 GitLab 集成的一個靜態站點生成器,這意味著你可以使用免費的 GitLab 帳戶生成和託管你的網站。

Hugo 也有一些非常大的用戶。例如,如果你曾經去過 Let』s Encrypt 網站,那麼你已經用過了一個用 Hugo 構建的網站。

Hugo 是跨平台的,你可以在 Hugo 的入門資源 中找到適用於 MacOS、Windows、linux、OpenBSD 和 FreeBSD 的安裝說明。

如果你使用的是 Linux 或 BSD,最簡單的方法是從軟體存儲庫或 ports 樹安裝 Hugo。確切的命令取決於你的發行版,但在 Fedora 上,你應該輸入:

通過打開終端並鍵入以下內容確認你已正確安裝:

這將列印 hugo 命令的所有可用選項。如果你沒有看到,你可能沒有正確安裝 Hugo 或需要 將該命令添加到你的路徑 。

要構建 Hugo 站點,你必須有個特定的目錄結構,通過輸入以下命令 Hugo 將為你生成它:

你現在有了一個名為 mysite 的目錄,它包含構建 Hugo 網站所需的默認目錄。

Git 是你將網站放到互聯網上的介面,因此切換到你新的 mysite 文件夾,並將其初始化為 Git 存儲庫:

Hugo 與 Git 配合的很好,所以你甚至可以使用 Git 為你的網站安裝主題。除非你計劃開發你正在安裝的主題,否則可以使用 --depth 選項克隆該主題的源的最新狀態:

現在為你的網站創建一些內容:

使用你喜歡的文本編輯器編輯 content/posts 目錄中的 hello.md 文件。Hugo 接受 Markdown 文件,並會在發布時將它們轉換為經過主題化的 HTML 文件,因此你的內容必須採用 Markdown 格式 。

如果要在帖子中包含圖像,請在 static 目錄中創建一個名為 images 的文件夾。將圖像放入此文件夾,並使用以 /images 開頭的絕對路徑在標記中引用它們。例如:

你可以在 themes.gohugo.io 找到更多主題,但最好在測試時保持一個基本主題。標準的 Hugo 測試主題是 Ananke 。某些主題具有復雜的依賴關系,而另外一些主題如果沒有復雜的配置的話,也許不會以你預期的方式呈現頁面。本例中使用的 Mero 主題捆綁了一個詳細的 config.toml 配置文件,但是(為了簡單起見)我將在這里只提供基本的配置。在文本編輯器中打開名為 config.toml 的文件,並添加三個配置參數:

在你准備發布之前不必(預先)在互聯網上放置任何內容。在你開發網站時,你可以通過啟動 Hugo 附帶的僅限本地訪問的 Web 伺服器來預覽你的站點。

打開 Web 瀏覽器並導航到 http://localhost:1313 以查看正在進行的工作。

要在 GitLab 上發布和託管你的站點,請為你的站點內容創建一個存儲庫。

要在 GitLab 中創建存儲庫,請單擊 GitLab 的 「Projects」 頁面中的 「New Project」 按鈕。創建一個名為 yourGitLabUsername.gitlab.io 的空存儲庫,用你的 GitLab 用戶名或組名替換 yourGitLabUsername。你必須使用此命名方式作為該項目的名稱。你也可以稍後為其添加自定義域。

不要在 GitLab 上包含許可證或 README 文件(因為你已經在本地啟動了一個項目,現在添加這些文件會使將你的數據推向 GitLab 時更加復雜,以後你可以隨時添加它們)。

在 GitLab 上創建空存儲庫後,將其添加為 Hugo 站點的本地副本的遠程位置,該站點已經是一個 Git 存儲庫:

創建名為 .gitlab-ci.yml 的 GitLab 站點配置文件並輸入以下選項:

image 參數定義了一個為你的站點提供服務的容器化圖像。其他參數是告訴 GitLab 伺服器在將新代碼推送到遠程存儲庫時要執行的操作的說明。有關 GitLab 的 CI/CD(持續集成和交付)選項的更多信息,請參閱 GitLab 文檔的 CI/CD 部分 。

你的 Git 存儲庫已配置好,在 GitLab 伺服器上構建站點的命令也已設置,你的站點已准備好發布了。對於你的第一個 Git 提交,你必須採取一些額外的預防措施,以便你不會對你不打算進行版本控制的文件進行版本控制。

首先,將構建你的站點時 Hugo 創建的 /public 目錄添加到 .gitignore 文件。你無需在 Git 中管理已完成發布的站點;你需要跟蹤的是你的 Hugo 源文件。

如果不創建 Git 子模塊,則無法在 Git 存儲庫中維護另一個 Git 存儲庫。為了簡單起見,請移除嵌入的存儲庫的 .git 目錄,以使主題(存儲庫)只是一個主題(目錄)。

請注意,你 必須 將你的主題文件添加到你的 Git 存儲庫,以便 GitLab 可以訪問該主題。如果不提交主題文件,你的網站將無法成功構建。

你也可以像使用 回收站 一樣使用 trash:

現在,你可以將本地項目目錄的所有內容添加到 Git 並將其推送到 GitLab:

將代碼推送到 GitLab 後,請查看你的項目頁面。有個圖標表示 GitLab 正在處理你的構建。第一次推送代碼可能需要幾分鍾,所以請耐心等待。但是,請不要 一直 等待,因為該圖標並不總是可靠地更新。

當你在等待 GitLab 組裝你的站點時,請轉到你的項目設置並找到 「Pages」 面板。你的網站准備就緒後,它的 URL 就可以用了。該 URL 是 yourGitLabUsername.gitlab.io/yourProjectName。導航到該地址以查看你的勞動成果。

如果你的站點無法正確組裝,GitLab 提供了可以深入了解 CI/CD 管道的日誌。查看錯誤消息以找出發生了什麼問題。

Hugo(或 Jekyll 等類似工具)只是利用 Git 作為 Web 發布工具的一種方式。使用伺服器端 Git 掛鉤,你可以使用最少的腳本設計你自己的 Git-to-web 工作流。使用 GitLab 的社區版,你可以自行託管你自己的 GitLab 實例;或者你可以使用 Gitolite 或 Gitea 等替代方案,並使用本文作為自定義解決方案的靈感來源。祝你玩得開心!

via: https://opensource.com/article/19/4/building-hosting-website-git

作者: Seth Kenlon 選題: lujun9972 譯者: wxy 校對: wxy

㈢ seaweedfs文件伺服器Security安全控制

seaweedfs源碼文檔鏈接git地址

官網配置security.toml步驟
1.1: 命令生成security.toml: weed scaffold -config=security

1.2: 通過openssl生成CA證書,並生成客戶端證書和密鑰(此處我沒有用官網提供的 https://github.com/square/certstrap 的插件進行生成,原因是執行命胡逗配令 go build 時候一直報錯,提示timeout,找不到gopass插件

1.3: 生成的security.toml文件放到跟weed同級目錄下即可,seaweedfs如何安裝請 傳送門 參考這篇文章

1.4: 使用方法,獲取文件生成的token

1.5: 至此文件讀許可權校驗加入成功
seaweedfs使用jwt自身token鑒權
優點:
1.可以完全脫離項目業務邏輯,實現自身許可權控制,自簽自驗(自己簽發Authorization,自己驗證Authorization)
2.可以自己設置Authorization的有效期,實現指敬階段性讀取許可權限制
缺點
1.圖片鏈接需要在請求頭中加入Authorization信息,h5中<img>標簽無法直接在圖片鏈接中加入請求頭信息 。
2.每一個文件讀取都需要根據文件id申請一個Authorization信息,操作稍顯繁瑣

關於文件訪問許可權控制,另一種方案,可看 linux 安裝openresty並使用lua腳本轉發鑒褲指權控制文件訪問許可權 文章

㈣ Containerd的安裝和配置

Containerd Github: containerd/containerd

直接將壓縮解壓到系統目錄中:

添加環境變數

生成配置文件

containerd安裝包中含有 containerd.server 文件在 etc/systemd/system/containerd.service 下,所以我們能通過systemd 來配置 containerd 作為守護進程運行,其文件內容為

啟動containerd

查看Containerd本地CLI命令工具ctr的版本

查看兼容CRI的容器運行時命令行介面crictl的版本:

生成默認的配置文件:哪衡陵 containerd config default > /etc/containerd/config.toml
配置文檔地址: containerd / containerd 。

在/etc/containerd/config.toml 文件中添加需要加速的鏡像信息:

其中, registry.mirrors."xxx" 表示需要配置 mirror 的鏡像倉庫原鏡像倉庫, endpoint 表示提供 mirror 的鏡像加速服務。

跳過tls驗攔扒證:

/etc/containerd/config.toml 配置文件中的內容僅會對crictl生效李戚。
crictl images list = ctr -n=k8s.io image list

pull image:

㈤ TiDB修改配置參數

在TiDB 中,「修改配置參數」似乎是個不精準的說法,它實際包含了以下內容:

TiDB的配置修改比較混亂,先做個總結,再介紹具體內容:

查看TiDB系統變數:

集群中所有 TiDB Server 都生效;

持久化在哪裡?
持久化在 kv 存儲中,跟數據一樣持久化了,不會持久化在 conf/tidb.toml 配置文件中。所以不用擔心 tiup upgrade 和 tiup reload 等運維操作會把配置文件覆蓋,不會導致修改失效,因為這個修改的持久化不依賴配置文件。

有些參數的作用域只有會話級別。也就是只能會話級修改,這不代表著不能被動態修改。

修改方式和會話級修改一樣:

修改 Instance 級別的參數修改不會持久化,那麼如何持久化呢?
a. 手工修改 TiDB 的配置文件:

b. 並使用 tiup edit-config 來修改對應的配置項,不需要做 tiup reload:

內容如下:

目前查看官方文檔,發現只有3個只讀變數:hostname、tidb_config、tidb_current_ts,沒法通過 set variables 修改。作用域比較奇怪,用法介紹也不清楚,看起來沒有修改的必要。如果一定要修改可以通過 tiup 方法修改。

修改集群配置包括TiDB、TiKV 以及 PD 在內的各組件的配置進行修改。

使用 edit-config 命令來編輯參數,以編輯模式打開該集群的配置文件:

如果配置的生效范圍為該組件全局,則配置到 server_configs,比如修改所有 tikv 的 log-level 為 waring(默認是 info):

如果配置的生效范圍為某個節點,則配置到具體節點的 config 中。例如:

tiup reload 分發配置並滾動重啟組件,無論是否可以動態修改的參數都會重啟,並且默認會重啟所有組件,可以選擇指定節點或者組件:
tiup cluster reload ${cluster-name} [-N <羨歷nodes>] [-R <roles>]

示例中我們只修改 tikv 的 log-level 為 waring,所以用 -R tikv 指定只重啟 tikv 節點:

set config 當前4.0版本屬於兄纖搜實驗性功能,不建議在生產使用: https://docs.pingcap.com/zh/tidb/stable/dynamic-config
目前只支持修改 TiKV 和 PD 的配置,TIDB的配置修改用上面的 set variables 方法。

查看當前參數設置:

用豎槐 set config 修改參數,會持久化到配置文件。log-level 無法動態修改,不會報錯但是會有 warnings,對於不能動態修改的參數使用 tiup 進行修改:

動態修改示例:

雖然TiKV的配置文件 conf/tikv.toml 會持久化這個修改,但是為了防止tiup upgrade 和 tiup reload 等運維操作把配置文件覆蓋導致修改失效,還需要執行 tiup edit-config 來編輯參數。

㈥ 4.3 runner里的docker-in-docker

在使用gitlab的CI/CD流程進行自動化配置的時候,很容易碰到的一個需求就是,在容器內困如閉部打包一個容器鏡像。這話聽起來很繞,但是做過的人都知道。這個時候需要容器里有一個docker的後台進程,而在容器里配置一個docker進程它的成本是很高的,你需要修改啟動的初始進程,那麼就需要改鏡像文件,這些改動過程中會遇到很多不可預料的問題。因此,業界也提出了一些基礎方案,目前用的最多的兩種是:

上面兩種方法其實大同小異,但是在實際操作的時候還需要配置 unprivileged=true ,即給容器不受限制的許可權,此時容器內甚至可以直接操作宿主機上的環境(也稱為容器泄露)。在內網里用一下還可以,但是在一些安全要求非常高的公網上或者公司內,這種方案基本上就是直接被否決的。

下面我們來看看在gitlab的CI/CD里,它是怎麼滿足這類需求的。

這種方式是在主機上安裝runner時候可以使用,直接使用主機上安裝好的docker命令,由 gitlab-runner 用戶來執行對應的命令,因此需要給它配置特殊的許可權。具體的操作流程是:

如果有許可權,那麼會輸出docker的信息

Docker in Docker(dind)表示:

在上面提到的Docker容器鏡像里,安裝了所有dockr工具,能夠在 特權模式下 在鏡像的環境里運行CI/CD任務。同時你需要指定這個鏡像的具體版橡飢本,例如 docker:19.03.12 ,如果你使用 docker:stable 這樣的標簽來使用鏡像,那麼鏡像的版本是不確定的,特別是當新版本發布的時候。

dind的限制:

啟用dind的TLS,可以讓容器之間的通信更安全。啟用方式是:

上面的命令指定了執行器是docker類型,鏡像版本,特權容器許可權和掛載卷。掛載卷掛載的是物理機上docker的證書文件。上面的命令會創建一個config.toml 文件,內容如下:

這種方式是直接使用服務容器里配置好的docker服務。

要在k8s里使用啟用了TLS的dind,步驟汪裂如下:

上面不光指定了卷掛載,還指定了容器鏡像名稱和特權模式。

上面就是三種使用方式,還有一些細節性的配置。後面再繼續更新了。

㈦ 2021-05-09 QQ機器人

一、pip install nb-cli

二、pip install nonebot-adapter-cqhttp


把plugins 文件源襪夾放入表層。把 TOP文件夾和weather.py 放在plugins 文件夾內
把最後修改的9個文件放到表層(包含bot.py)。
重點是pyproject.toml文件內的地址修改為plugin_dirs = ["plugins"]
.env.dev文件


創建多個QQ文件夾,放入如下方之四所描述

運行:
1、cd 進入表層文件夾,運行python bot.py
2、然後運行多個cd(要運行幾個QQ就開幾個CMD窗口),分別進入多個go-cqhttp_windows_amd64.exe文件夾, 運行go-cqhttp_windows_amd64.exe(記得對每個賬號局缺修改那個 servers: 埠為不同埠)
3、

三、nb create 創建一個專用文件夾

四、把 go-cqhttp_windows_amd64.exe放入 NB創造的QQ1文件夾,然後cmd用CD進入這個文件夾,輸入go-cqhttp_windows_amd64.exe 回車運行,會在文件夾下面創建一個配置文件config.yml。
裡面有四處修改。
1,QQ號
2,servers:

(五、把 TOP文件夾和weather.py 放在qq1\src\plugins 文件夾內)
六、將bot.py文件覆蓋原文件

多開的方法:
比桐裂辯如新創建個文件夾ceshi ,然後把go-cqhttp_windows_amd64.exe和config.yml(這個文件其實是運行go-cqhttp_windows_amd64.exe後如果為空自動創建的)復制到ceshi這個文件夾裡面,完成修改config.yml文件內的埠號為不同的埠號,反向代理FALSE ws://127.0.0.1:8080/cqhttp/ws 等設置即可

七、注意:如果安裝了新的插件,要在bot.py weather.py 中都 import 加上

㈧ GitLab-Runner配置參數詳解

配置笑行敏默認在 /etc/gitlab-runner/config.toml 下,配置帶慶文件更改時不需要重啟服務,每隔三秒GitLab Runner 會檢查配置修改,並碰枝重新載入。

例子:

例子:

https://docs.gitlab.com/runner/configuration/advanced-configuration.html

㈨ SeaweedFS教程

參考網址:
https://github.com/chrislusf/seaweedfs/wiki/Getting-Started
https://blog.csdn.net/ichen820/article/details/122078682
http://www.wjhsh.net/quchunhui-p-14086075.html
https://blog.csdn.net/lljksven/article/details/118443443

SeaweedFS 是一種簡單的、高度可擴展的分布式文件系統。有兩個目標:

啟動後,訪問 http://172.119.9.12:9333 頁面,即可看到SeaweedFS首頁

啟動後,即可在 http://172.119.9.12:9333 頁面看到數據中心的數據卷

命令襲跡行返回:[{"fileName":"eye.png","url":"172.119.9.12:8080/4,01e265191f","fid":"4,01e265191f","size":482}]
訪問文件:毀禪茄 http://172.119.9.12:8080/4,01e265191f ,即可看到上傳的文件

查看配置文件模板

新建 filer.toml 文件,內容如下:

啟動後,即可在 http://172.119.9.12:8888 頁面看到數據

啟動後,在 mount-data 下放入text.txt文件,通過 http://172.119.9.12:8888/text.txt 即纖察可訪問文件

㈩ python - Poetry介紹

一、簡介
Poetry 是一個Python 中的好用的包管理工具。在 Python 中,打包系統和依賴管理非常復雜:一個項目經常要同時創建多個文件,例如:

setup.py
requirements.txt
setup.cfg
MANIFEST.in
Pipfile
基於此, poetry 將所有的配置都放置在一個 toml 文件中,包括:依賴管理、構建、打包、發布等,可謂是簡單方便。

二、安裝
Poetry 要求 Python 版本為 2.7 或者 3.5+。Poetry 官方提供了一個腳本,可以快速方便地進行安裝。

osx / linux / bashonwindows 安裝:

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -
windows powershell 安裝:

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py -UseBasicParsing).Content | python -
Poetry 會被安裝在系統中的如下位置:

$HOME/.local/bin Unix系統
%APPDATA%PythonScripts Windows系統
然後把路徑添加到系統變數 PATH 中,即可使用 poetry 命令調用:

poetry --version

卸載:

python install-poetry.py --uninstall
POETRY_UNINSTALL=1 python install-poetry.py
如果你想要改變安裝的默認路徑,可以設置 POETRY_HOME :

POETRY_HOME=/etc/poetry python install-poetry.py
除了官方的安裝腳本,也可以使用 pipx 或者 pip 進行安裝:

pipx install poetry
pipx upgrade poetry
pipx uninstall poetry
pip install --user poetry

更新:

poetry self update

三、基礎使用
在已有項目中執行:

poetry init
該命令創建了一個pyproject.toml 文件。你可以手動修改 pyproject.toml 文件添加依賴,然後運行:

poetry install
也可以執行 add 命令安裝具體某個模塊並自動添加到 pyproject.toml:

$ poetry add xxxx
默認情況下,poetry會在 {cache-dir}/virtualenvs 下創建虛擬環境,你也可以手動修改該配置項,或者在 pyproject.toml 配置[virtualenvs.in-project] 在你的項目目錄中創建虛擬環境。

你可以使用 run 命令在虛擬環境中運行腳本:

poetry run python your_script.py
或者直接激活你的虛擬環境,新建一個 shell 運行:

poetry shell
只安裝dependencies :

poetry install --no-root
更新所有鎖定版本的依賴:

poetry update

四、命令選項
全局選項:

--verbose (-v|vv|vvv): "-v" 正常輸出, "-vv" 詳細輸出 "-vvv" debug
--help (-h) : 幫助信息
--quiet (-q) : 不輸出任何信息
--ansi: 強制 ANSI 輸出
--no-ansi: 禁止ANSI 輸出
--version (-V): 顯示版本
--no-interaction (-n): 禁止交互詢問

NEW:

poetry new my-package
創建項目模板,項目結構如下所示:

my-package
├── pyproject.toml
├── README.md
├── my_package
│ └── init .py
└── tests
└── init .py

init:創建pyproject.toml文件 。

install:讀取pyproject.toml並安裝依賴,它具有如下這些選項:

--without: 忽略依賴
--with: 安裝可選的依賴
--only: 只安裝指定的依賴
--default: 只安裝默認的依賴
--sync: 同步鎖定的版本至環境中
--no-root: 不安裝根依賴包
--dry-run: 輸出操作但不執行
--extras (-E): 安裝額外的包

update:升級包

poetry update
不指定任何包時,更新所有,也可以指定升級包:

poetry update requests toml
它具有如下選項:

--dry-run : 輸出操作但不執行
--no-dev : 不按照開發依賴
--lock : 只更新鎖定不安裝

add: 添加依賴並安裝

限制范圍:

poetry add penlum@^2.0.5
poetry add "penlum>=2.0.5"
它具有如下選項:

--group (-D): 分組
--editable (-e): 添加到編輯模式
--extras (-E): 添加額外的依賴
--optional: 添加至可選依賴
--python: 指定python版本
--platform: 指定操作系統
--source: 使用源名稱安裝
---allow-prereleases: 接受 prereleases 安裝
--dry-run: 輸出操作但不執行
--lock: 只更新鎖定不安裝

remove:移除依賴

它具有如下選項:

--group (-D): 分組
--dry-run : 輸出操作但不執行

show:列出所有的可安裝的包

如果你想看具體某個包的信息:

poetry show penlum

name : penlum
version : 1.4.2
description : Python datetimes made easy

dependencies:

--without: 忽略依賴
--with: 同時顯示
--only: 只顯示指定的依賴
--default: 只顯示默認的
--no-dev: 不顯示開發的依賴
--tree: 以樹狀形式顯示
--latest (-l): 展示最新的版本
--outdated (-o): 顯示最新版本,但僅適用於過時的軟體包

build:構建

publish:發布

config:配置項

使用方法:

poetry config [options] [setting-key] [setting-value1] ... [setting-valueN]
它具有如下選項:

--unset: 刪除配置項
--list: 展示現在的配置

run:在虛擬環境中執行命令

shell:激活虛擬環境

check:檢查pyproject.toml文件

search:搜索遠程包

lock:鎖定版本

version:顯示版本

export:導出鎖定的文件為其他的格式

poetry export -f requirements.txt --output requirements.txt
它具有如下選項:

--format (-f): 轉換的格式,暫時只支持requirements.txt
--output (-o): 輸出文件名字
--dev: 包括開發的依賴
--extras (-E): 額外的依賴
--without-hashes: 忽略哈希
--with-credentials: 包括合格證書

env:與虛擬環境進行交互

cache:緩存

顯示緩存列表:

poetry cache list
清除緩存:

poetry cache clear pypi --all

plugin:插件

安裝插件:

poetry plugin add poetry-plugin
顯示插件列表:

poetry plugin show
移除插件:

poetry plugin remove poetry-plugin

source: 倉庫源

添加源:

poetry source add pypi-test https://test.pypi.org/simple/
顯示倉庫源列表:

poetry source show
移除:

poetry source remove pypi-test

五、配置
你可以運行config命令進行配置,或者直接修改config.toml文件,這個文件通常位於:

macOS: ~/Library/Application Support/pypoetry
Windows: C:Users<username>AppDataRoamingpypoetry
Unix~/.config/pypoetry
可以使用--local命令對具體項目進行配置:

poetry config virtualenvs.create false --local
配置項:

cache-dir緩存目錄
installer.parallel並行安裝
virtualenvs.create如果不存在,則新建一個虛擬環境
virtualenvs.in-project在項目根目錄創建虛擬環境
virtualenvs.path虛擬環境路徑
virtualenvs.options.always-復制源文件還是創建鏈接到虛擬環境
virtualenvs.options.system-site-packages虛擬環境獲得系統包的許可權
repositories.<name>設置一個新的可選倉庫

六、依賴配置
依賴的配置有很多種寫法:

版本限制:

尖括弧:^1.2 代表 >=1.2.0 <2.0.0
波浪號:~1.2.3 代表 >=1.2.3 <1.3.0
星號:1.* 代表 >=1.0.0 <2.0.0

使用git倉庫:

[tool.poetry.dependencies]
requests = { git = " https://github.com/requests/requests.git " }
使用本地路徑:

[tool.poetry.dependencies]

my-package = { path = "../my-package/", develop = false }

my-package = { path = "../my-package/dist/my-package-0.1.0.tar.gz" }
使用URL:

[tool.poetry.dependencies]

my-package = { url = " https://example.com/my-package-0.1.0.tar.gz " }
python限制:

[tool.poetry.dependencies]
pathlib2 = { version = "^2.2", python = "~2.7" }
環境限制:

[tool.poetry.dependencies]
pathlib2 = { version = "^2.2", markers = "python_version ~= ƈ.7' or sys_platform == 'win32'" }

組合:

[tool.poetry.dependencies]
foo = [
{version = "<=1.9", python = "^2.7"},
{version = "^2.0", python = "^3.4"}
]

如果限制很多,寫成一行不方便閱讀,可以寫成多行:

[tool.poetry.group.dev.dependencies]
black = {version = "19.10b0", allow-prereleases = true, python = "^3.6", markers = "platform_python_implementation == 'CPython'"}
寫成多行後:

[tool.poetry.group.dev.dependencies.black]
version = "19.10b0"
allow-prereleases = true
python = "^3.6"
markers = "platform_python_implementation == 'CPython'"

分組功能:

[tool.poetry.group.test.dependencies]
pytest = "^6.0.0"
pytest-mock = "*"
例如以上,就建立了一個test的組合的依賴。

下面這兩種寫法是等價的:

[tool.poetry.dev-dependencies]
pytest = "^6.0.0"
pytest-mock = "*"
或者:

[tool.poetry.group.dev.dependencies]
pytest = "^6.0.0"
pytest-mock = "*"
以上兩種寫法都聲明了一個dev的組的依賴。

聲明組合是可選的,這在具體的環境中有的特定的用途時很有用:

[tool.poetry.group.docs]
optional = true

[tool.poetry.group.docs.dependencies]
mkdocs = "*"

添加依賴到組中:

poetry add pytest --group test

同步依賴,只使用poetry.lock中的依賴,移除其他不是必須的依賴:

poetry install --sync

七、環境管理
Poetry可以為項目使用獨立的虛擬環境,而不是使用系統安裝的。

切換環境:

poetry env use /full/path/to/python
poetry env use python3.7
poetry env use system
顯示當前激活的環境信息:

poetry env info
運行命令會輸出如下信息:

Virtual environment
Python: 3.7.1
Implementation: CPython
Path: /path/to/poetry/cache/virtualenvs/test-O3eWbxRl-py3.7
Valid: True

System
Platform: darwin
OS: posix
Python: /path/to/main/python
列出所有的虛擬環境列表:

poetry env list
刪除環境:

poetry env remove /full/path/to/python
poetry env remove python3.7
poetry env remove 3.7
poetry env remove test-O3eWbxRl-py3.7

熱點內容
哇哇賺錢腳本 發布:2024-03-29 20:23:53 瀏覽:996
兩氣體壓縮 發布:2024-03-29 20:18:09 瀏覽:993
易語言教程解壓 發布:2024-03-29 20:18:00 瀏覽:785
我老爸的密碼是什麼 發布:2024-03-29 20:03:50 瀏覽:247
資料庫定義實驗 發布:2024-03-29 19:52:20 瀏覽:578
如何除去安卓手機的馬賽克 發布:2024-03-29 19:52:16 瀏覽:584
網站緩存設置 發布:2024-03-29 19:47:20 瀏覽:798
在jsp中使用資料庫 發布:2024-03-29 19:29:01 瀏覽:786
dns伺服器江川區ip地址 發布:2024-03-29 18:47:53 瀏覽:328
sql統計百分比 發布:2024-03-29 18:47:14 瀏覽:692