Pipenv 的目标是将打包界(bundler、composer、npm、cargo、yarn 等)最好的东西带到 Python 世界来。它试图解决一些问题,并简化整个管理过程。
目前,Python 程序依赖项的管理有时似乎是一个挑战。开发人员通常为每个新项目创建一个虚拟环境,并使用 pip 将依赖项安装到其中。此外,他们必须将已安装的软件包的集合保存到 requirements.txt
文件中。我们看到过许多旨在自动化此工作流程的工具和包装程序。但是,仍然需要结合多个程序,并且 requirements.txt
格式本身并不适用于更复杂的场景。
Pipenv 可以正确地管理复杂的相互依赖关系,它还提供已安装包的手动记录。例如,开发、测试和生产环境通常需要一组不同的包。过去,每个项目需要维护多个 requirements.txt
。Pipenv 使用 TOML 语法引入了新的 Pipfile 格式。多亏这种格式,你终于可以在单个文件中维护不同环境的多组需求。
在将第一行代码提交到项目中仅一年后,Pipenv 已成为管理 Python 程序依赖关系的官方推荐工具。现在它终于在 Fedora 仓库中提供。
在全新安装 Fedora 28 及更高版本后,你只需在终端上运行此命令即可安装 Pipenv:
$ sudo dnf install pipenv
现在,你的系统已准备好在 Pipenv 的帮助下开始使用新的 Python 3 程序。
重要的是,虽然这个工具为程序提供了很好的解决方案,但它并不是为处理库需求而设计的。编写 Python 库时,不需要固定依赖项。你应该在 setup.py
文件中指定 install_requires
。
首先为项目创建一个目录:
$ mkdir new-project && cd new-project
接下来是为此项目创建虚拟环境:
$ pipenv --three
这里的 -three
选项将虚拟环境的 Python 版本设置为 Python 3。
安装依赖项:
$ pipenv install requests
Installing requests…
Adding requests to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
最后生成 lockfile:
$ pipenv lock
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (b14837)
你还可以检查依赖关系图:
$ pipenv graph
- certifi [required: >=2017.4.17, installed: 2018.4.16]
- chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
- idna [required: <2.8,>=2.5, installed: 2.7]
- urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
有关 Pipenv 及其命令的更多详细信息,请参见文档。
via: https://fedoramagazine.org/install-pipenv-fedora/
作者:Michal Cyprian 选题:lujun9972 译者:geekpi 校对:wxy
本文由 LCTT 原创编译,Lin中国 荣誉推出
评论时间:2024-05-14 06:25:01
根据IDC数据显示,2018年上半年,全球服务器出货量排名前五的厂一文详解刀片式服务器 商分别为戴尔、惠普、IBM、联什么是虚拟主机 上半年,全球服务器出货量排名前五的厂商分别为戴尔、惠普、IBM、联想、浪潮
评论时间:2022-11-09 21:25:03
3、服务器出湖北十堰服务器云主机 售雨云虚拟主机搭建 服务器出售
评论时间:2022-10-01 12:25:02
5.费用低廉:根据不同如何建立局域网服务器 地区及行业收费不一虚拟主机报价 区及行业收费不一
2023-12-25 22:44:35 admin
活动发布区版规2023-05-27 22:03:52 御风而行
容器、无服务器、虚拟机:安全性差...2023-05-27 20:43:39 1356
服务器宕机的造成原因和解决方法介...2023-05-27 20:43:25 qingym
别糊涂了!服务器与工作站的五大区...2023-05-27 19:08:41 小绵羊0123
科技巨头布局云端 服务器 网络硬...2023-05-27 18:17:46 姐姐的跟屁虫
钉钉因系统访问流量激增,宕机1小...2022-07-23 00:34:02 freeatom
常见ftp命令 FTP命令使用详...2022-07-21 02:17:02 ares
双硬盘组建Raid0磁盘阵列图文...2022-07-20 06:17:02 mankeung123
用友软件客户端连接不上服务器的解...2022-07-23 00:51:02 antonfxb
WebService实例2022-07-13 05:38:02 苯小孩
开发、运维不可不看的Linux调...2022-07-20 18:51:02 nightstone
如何使用Charles抓取Web...2021-12-25 05:38:01 青青子w
石家庄服务器托管并不局限于石家庄...2021-12-28 05:38:01 xxm830
推荐一款超性价比的百兆独享服务器2022-01-23 05:38:02 fj1221
服务器托管哪家最好?2022-01-26 05:38:02 zhg1
web服务器配置2022-03-27 05:38:02 雪山飞蟹
ftp服务器怎么用2022-07-19 05:00:04 觉醒的白河愁
服务器集群技术之Cluster技...2022-07-19 20:17:02 dengyu0429
linux vi使用及详细介绍2022-07-20 01:00:05 激动的舌头
Linux视频教程:用户管理命令...2022-07-21 20:51:02 jessica-an
创建本地FTP站点2022-02-07 05:38:03 jasonkidd
WEB服务器配置详解2022-07-20 04:51:02 wolfssss
ACL权限-默认与递归(4)2022-07-22 15:00:05 淡水珊瑚
Linux下 Samba Ser...