日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 包管理之 poetry

發布時間:2023/12/20 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 包管理之 poetry 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

poetry是一個Python虛擬環境和依賴管理的工具。poetry和pipenv類似,另外還提供了打包和發布的功能。

官方文檔:python-poetry.org/docs/

python項目部署:poetry管理本地環境,上線用docker

poetry 安裝

poetry提供多種安裝方式,個人推薦從以下2種方式中選擇:

方式一:(推薦)

$ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python

方式二:(pip)

$ pip install --user poetry

安裝完成之后,將腳本路徑添加到 環境變量中,添加完成之后,可在終端輸入命令: poetry --version 來確認是否安裝配置完成。

工程初始化

新工程

如果當前還沒有創建工程,可以使用poetry新建工程:

輸入poetry new來創建一個項目腳手架,包括基本結構、pyproject.toml文件。

$ poetry new poetry-demo

這時候,會創建一個包含如下內容的工程

poetry-demo ├── pyproject.toml # 使用此文件管理依賴列表和項目的各種meta信息,用來替代 Pipfile、requirements.txt、setup.py、setup.cfg、MANIFEST.in 等等各種配置文件 ├── README.rst ├── poetry_demo # 項目目錄 │ └── __init__.py └── tests ├── __init__.py └── test_poetry_demo.py

已有工程

在已有的項目使用poetry,只需要執行 poetry init 命令來創建一個pyproject.toml文件

$ poetry init

這時候,它會讓你輸入包名稱、版本號等信息,你可以選擇輸入,也可以選擇按下ENTER鍵使用默認值,完成以后,pyproject.toml如以下格式:

name = "poetry-demo" version = "0.1.0" description = "" authors = ["lepeng"][tool.poetry.dependencies] python = "*"[tool.poetry.dev-dependencies] pytest = "^3.4"

依賴包管理

安裝依賴包: poetry install

可以使用install命令直接解析并安裝 pyproject.toml 的依賴包

$ poetry install

將依賴包添加到pyproject.toml文件中,同時安裝它們: poetry add

$ poetry add numpy

還可以,通過添加配置參數–dev來區分不同環境下的依賴包。

  • poetry add flask:安裝最新穩定版本的flask
  • poetry add pytest --dev: 指定為開發依賴,會寫到pyproject.toml中的[tool.poetry.dev-dependencies]區域
  • poetry add flask=2.22.0: 指定具體的版本
  • poetry install: 安裝pyproject.toml文件中的全部依賴
  • poetry install --no-dev:只安裝非development環境的依賴,一般部署時使用

更新所有鎖定版本的依賴包: poetry update

$ poetry update

更新指定依賴包

$ poetry update numpy

卸載依賴包: poetry remove

$ poetry remove numpy

查看可以更新的依賴: poetry show

$ poetry show --outdated

查看項目安裝的依賴: poetry show

$ poetry show

樹形結構查看項目安裝的依賴

$ poetry show -t

執行python命令 poetry run

$ poetry run python -V 主要用來執行python命令,會將run之后的命令放到python環境執行。
$ poetry run python app.py 運行Python腳本

將python文件打包 poetry build

主要用來將python文件打包,打包之后的產物有兩種包的格式:sdist是源碼格式;wheel是編譯之后的格式。

$ poetry build

將用build命令打包完成的產物上傳到PyPI上:poetry publish

配置正確的賬號和用戶名,這樣才可以正常上傳

$ poetry config http-basic.pypi username password
$ poetry publish

假如你們公司有自己的私有倉庫,則可以通過如下方式上傳:
先配置私有倉庫的信息,然后再上傳

$ poetry config repositories.foo https://foo.bar/simple/
$ poetry config http-basic.foo username password
$ poetry publish -r my-repository

虛擬環境管理

創建虛擬環境

創建虛擬環境有2種方式:

方式1:

如果在配置文件中配置了virtualenvs.create=true,執行 poetry install 或 poetry add 時會檢查是否有虛擬環境,否則會自動創建。

這里一個問題就是:如果系統中既有Python2又有Python3,且項目既支持Python2也支持Python3,那poetry會優先使用Python2。

方式2:利用 poetry env use 創建

指定創建虛擬環境時使用的Python解釋器版本
$ poetry env use python3.7

激活虛擬環境
$ poetry shell

查看虛擬環境信息
$ poetry env info

顯示虛擬環境列表
$ poetry env list

顯示虛擬環境絕對路徑
$ poetry env list --full-path

刪除虛擬環境
$ poetry env remove python3.7

查看python版本
$ poetry run python -V

poetry config 配置文件: config.toml

poetry提供了全局config配置和特定項目的config配置。

  • windows下的全局config配置文件:C:\Users\fenglepeng\AppData\Roaming\pypoetry\config.toml
  • macOS下的全局config配置文件:/Users/fenglepeng/Library/Application Support/pypoetry/config.toml

目前poetry支持的參數有:

name注釋
cache-dirpoetry使用的緩存目錄的路徑默認值: macOS: ~/Library/Caches/pypoetry Windows: C:\Users\Appdata\Local\pypoetry\Cache Unix: ~/.cache/pypoetry
virtualenvs.create默認值為true,如果執行 poetry install/poetry add時沒有虛擬環境,就自動創建一個虛擬環境,設置為false的話,當虛擬環境不存在時,會將包安裝到系統環境** **
virtualenvs.in-project默認值為false,設置為true的話,會在當前項目目錄下創建虛擬環境
virtualenvs.path虛擬環境的路徑,默認路徑 {cache-dir}\virtualenvs
repositories.設置新的備用存儲庫,具體的參數待確定

也可以使用 poetry config 命令: poetry config ,key就是表格內的參數名,value就是參數要配置的值。

本地參數配置

可以在poetry config后加 -local來配置當前項目。

poetry config virtualenvs.create false --local

執行后,當前項目在執行poetry install/poetry add時如果沒有虛擬環境的話就會直接安裝到系統路徑上。

執行后,會在當前項目生成poetry.toml文件,全局配置config.toml文件不受影響:

全局配置

poetry config virtualenvs.create false

這里只是示范使用,virtualenvs.create這個參數其實基本不用修改,保留原值就好。

重置配置

poetry config的 -unset就是用來重置配置的,如果是重置全局配置:

poetry config virtualenvs.create --unset

如果是重置項目配置:

poetry config virtualenvs.create --local --unset

查看項目下的poetry.toml文件,可以看到值被重置了。

列出當前配置

列出當前項目的配置可以使用: poetry config --list

這里需要注意,列出配置時,包括了全局和本地的配置,本地的配置會覆蓋全局的參數:

舉例:virtualenvs.create全局為true,本地為false,那這里 virtualenvs.create=false

總結

以上是生活随笔為你收集整理的Python 包管理之 poetry的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产视频综合 | 久久香蕉精品视频 | 激情片| 国产精品正在播放 | 大桥未久av在线 | 91精品久久久久久久久久 | 久久精品片 | 都市激情校园春色 | 亚洲精品国产日韩 | 老女人一毛片 | 久久久久久久久久久久久久国产 | 两性免费视频 | 成人福利在线看 | 91在线精品一区二区三区 | 亚洲色图国产 | 下面一进一出好爽视频 | 呦呦视频在线观看 | 吻胸摸激情床激烈视频大胸 | 摸丰满大乳奶水www免费 | 西西人体44www大胆无码 | 久久精品视频日本 | 99久久99久久精品国产片果冻 | 日日碰狠狠添天天爽无码 | 中文字幕丝袜诱惑 | 又色又爽又黄无遮挡的免费视频 | 久久亚洲av午夜福利精品一区 | 国产黄色片免费看 | 久久99视频| 操操操免费视频 | 久久精品视频一区二区三区 | 67194成人在线观看 | 久久88 | 开心激情久久 | 亚洲国产成 | 亚洲中文无码av在线 | 精品少妇无码av无码专区 | 中国少妇色 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 水蜜桃av在线 | 中国极品少妇xxxxx | 无码国产精品一区二区免费式直播 | 中文字幕一区二区三区乱码人妻 | 日本a级片视频 | 红桃视频网站 | 污污的网站在线观看 | 国产精品视频免费网站 | 一区二区三区视频播放 | 日本激情小视频 | 精品一区二区三区国产 | 天天5g天天看| 亚洲一区二区三区四区五区xx | 久久久午夜电影 | 色偷偷综合 | 91福利一区 | 九色porny视频 | 免费看a | 免费涩涩 | 青草草在线 | 肉感丰满的av演员 | 一级黄色片在线免费观看 | 九九热最新网址 | 天堂影视av | 冲田杏梨av | 三级无遮挡 | 少妇在线播放 | 欧美日韩1区| 色播放 | 国产网站久久 | 亚洲欧美成人 | 肉色超薄丝袜脚交一区二区图片 | 蜜桃成人无码区免费视频网站 | 国产精品一区二区久久久 | 亚洲色图综合在线 | 色婷婷狠狠18禁久久 | 日日夜夜噜噜噜 | 日本女优网址 | 亚洲美女屁股眼交8 | 蜜桃久久久| av播播| 久久久久久亚洲av毛片大全 | 百合sm惩罚室羞辱调教 | 日韩成人精品一区二区三区 | 精品国产中文字幕 | 久久久午夜视频 | h视频在线观看网站 | 欧美激情一区二区三级高清视频 | 另类天堂av | 亚洲七区 | 我要爱爱网| 欧美三级视频在线播放 | 免费成人电影在线观看 | 吊视频一区二区三区 | 日韩专区av | 欧美另类z0zx974 | 午夜精品久久久久久久99老熟妇 | 国产精品黄色片 | xxxx日本少妇 | 国产精品综合在线 | 伊人国产女 |