最近为了给测试搭自动化测试,重新开始搞起 Python,但是整体工程结构比较苦恼。
重点是版本管理,requirements.txt 感觉不怎么好用。Pipenv? Tox? 还是其它的啥?
以及像 package.json 里 scripts 的用法,python 有类似的吗?
1 cdyrhh 2020-09-10 15:11:30 +08:00 ![]() poetry |
2 dddd1007 2020-09-10 15:24:05 +08:00 poetry +1 |
![]() | 5 Trim21 2020-09-10 15:32:04 +08:00 poetry 应该是目前为止 python 中最像 npm 的包管理器了。 你可以先创建虚拟环境然后再虚拟环境里 poetry install,所有的包就会安到虚拟环境里面了。 等价于 npm 的 scripts 的用法目前还没有,但是在计划中了 |
6 laike9m 2020-09-10 16:13:38 +08:00 via Android ![]() 感觉你先要先了解一下包管理的概念。像你提到的 Tox,和包管理压根就没一毛钱关系。我个人反正都是 Poetry 一把梭。 可以听一下我们的这期节目,捕蛇者说 Ep 15. 和 PyPA 的成员聊聊 Python 开发工作流 https://www.pythonhunter.org/episodes/ep15 这期中文 Python 圈子里最懂 packaging 的两个人我们都请到了,讨论了各种常用方案包括 pipenv 和 poetey |
8 watanuki 2020-09-10 16:28:03 +08:00 ![]() 我 python 用的不多,也很长时间没用 python 了,我对 python 包管理的认识还停留在 pip install 和 conda install,anaconda 还算好用? |
![]() | 9 0bit 2020-09-10 16:29:51 +08:00 poetry + 1 |
![]() | PRO 看来 pipenv 把大家坑的都没人提了 |
11 chenqh 2020-09-10 16:42:23 +08:00 我只会 pip install |
13 arischow 2020-09-10 16:44:48 +08:00 via iPhone poetry 可以配置不要创建虚拟环境,然后用自己指定的虚拟环境作为包的安装位置。 |
![]() | 14 fhsan 2020-09-10 16:49:15 +08:00 我不信 pipenv 2018.11.26 2020.8.13 |
![]() | 15 cominghome 2020-09-10 17:01:14 +08:00 懒得整别的,一直都是 pip 一把梭,倒是没遇到过什么大问题 |
16 Hstar 2020-09-10 17:01:58 +08:00 pipenv 已经没人用了吗,我觉得蛮好用的 |
![]() | 17 hahajing2019 2020-09-10 18:00:29 +08:00 miniconda |
18 hyperbin 2020-09-10 18:04:53 +08:00 via Android 就我一个在用 pip 吗 |
![]() | 20 Ricardoo 2020-09-10 19:48:14 +08:00 为什么都没人说 conda ?我用 anaconda 和 miniconda |
![]() | 21 lithiumii 2020-09-10 19:54:49 +08:00 ![]() 我也是 conda,平常用 miniconda,树莓派用 miniforge 看来要学学 poetry |
![]() | 22 wizardoz 2020-09-10 19:55:36 +08:00 哪个最好用不知道,一直用 pip,够用,懒得去折腾新的 |
![]() | 23 clemente0620 2020-09-10 19:59:14 +08:00 miniconda |
24 rglee 2020-09-10 20:18:21 +08:00 via Android 我只用 pip 和 conda,这是跟不上主流了吗? |
25 l1xnan 2020-09-10 22:17:13 +08:00 via Android 数据分析项目 conda,日常脚本 pip,Python 包开发 poetry,部署 docker,pipenv 半残坑货 |
![]() | 26 metamask 2020-09-10 22:38:09 +08:00 ![]() pipenv 有挺多问题,但还是很好用 poetry 试用过一段时间,感觉还是不太习惯,感觉不太对味。 |
27 yucongo 2020-09-10 23:07:06 +08:00 超超赞 poetry,建议初学时花时间看完 poetry 主页的文档。用一阵后再看一次。 |
28 hhbcarl 2020-09-11 00:54:14 +08:00 感觉其他的包管理工具太重了,加了好多新概念,不够「原生」,我用 pip-tools 足够了。 |
![]() | 29 CareiOS 2020-09-11 09:49:55 +08:00 miniconda+1 |
30 sharpy 2020-09-11 10:15:34 +08:00 miniconda+1 |
31 sylvos 2020-09-11 11:49:46 +08:00 via iPhone miniconda |
32 dayeye2006199 2020-09-11 12:41:54 +08:00 Miniconda pip,docker base 镜像打开就能用 |
![]() | 33 IgniteWhite 2020-09-11 15:07:35 +08:00 via iPhone @lithiumii 我树莓派也用 miniforge !感觉 solving environment 好快 |
34 kkbblzq 2020-09-11 16:19:24 +08:00 poetry + 1 之前用 pipenv,依赖多了以后问题很多,而且差不多 2 年没有人维护(最近终于继续维护了),所以换了 poetry,目前用下来基本满足需求 |
35 lostpg 2020-09-11 18:26:34 +08:00 Poetry 吧,conda 更像是全局的虚拟环境管理,poetry 更像是 npm,cargo 那样的项目的环境和包管理。 |
![]() | 36 sayhi 2020-09-12 00:10:55 +08:00 via Android miniconda |
![]() | 37 Pho3nix 2020-09-12 09:51:50 +08:00 conda 有些时候版本冲突很难受,poetry 有解决么? |
![]() | 41 610915518 2020-09-13 08:11:34 +08:00 via iPhone pip install -r requirements.txt |
![]() | 42 yzc27 2020-09-13 10:36:39 +08:00 以前 pyenv + pipenv,现在 pyenv + poetry |
![]() | 43 Trim21 2020-09-13 11:43:42 +08:00 via iPhone |
44 ghostviper 2020-09-13 12:17:22 +08:00 python 版本管理 用 pyenv ;虚拟工程环境管理用 pyenv-virtualenv ;包管理用 pip (记得把源都改成国内,安装 python 的方式用代理先下载指定的压缩包放到~/.pyenv/cache 下 pyenv install XXX ) |
45 generated 2020-09-13 13:02:28 +08:00 python 的包管理真的是太混乱了, |