当前位置:首页 » 存储配置 » 如何在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

热点内容
android获取分辨率 发布:2025-02-14 07:12:13 浏览:750
途观l值得买哪个配置 发布:2025-02-14 07:06:33 浏览:60
格来云服务器到期 发布:2025-02-14 06:48:43 浏览:905
订奥迪A7哪个配置比较好 发布:2025-02-14 06:44:23 浏览:140
spss的数据库 发布:2025-02-14 06:37:32 浏览:120
sql除法运算 发布:2025-02-14 06:30:43 浏览:535
如何在家部署一台服务器 发布:2025-02-14 06:22:04 浏览:434
u盘里文件夹是空的 发布:2025-02-14 06:13:22 浏览:804
安卓如何缩放图片尺寸 发布:2025-02-14 06:06:34 浏览:117
六年级简便算法题 发布:2025-02-14 05:53:02 浏览:9