V2EX uranusjr
 uranusjr 最近的时间轴更新
uranusjr

uranusjr

V2EX 第 75853 号会员,加入于 2014-10-03 20:51:55 +08:00
uranusjr 最近回复了
2018-06-08 23:47:19 +08:00
回复了 ifoolish 创建的主题 Python Pipenv 到底解决了什么问题?
@ifoolish 以 Python 目前的就是法解了,只能阻止安。核心者有提出一些方案,不有明,作上也不容易。如果有相知,尤其於不同依版本有解法的工具(如 Bundler NPM )者,迎到 Python 的 SIG mailing lists ,我很需要知的助。
2018-06-08 23:43:24 +08:00
回复了 ifoolish 创建的主题 Python Pipenv 到底解决了什么问题?
@laike9m 解析依本就有很多能出的地方,Poetry 的依解析也莫名的不成功,我得有空吵不如大家努力找 bug 修它。前面提到的件立工作也有部分考量到,如果能把解析件立出,各工具就能自行插拔合出合的介面,不用像 Pipenv Poetry 各自重新造子,各有各的,法互相助。外 Python 依解析有硬是套件於混,setup.py 是可怕的史,Pipenv 目前 locking 慢有部份也是因素(然有化空,我目前有一些方向,希望月能再改善)。
2018-06-08 23:30:57 +08:00
回复了 est 创建的主题 Python Python 基金会 2018 董事会提名
@iConnect ,Python 社群乎可以百分之百靠志者在支,密切注的人乎在某都有似的感想,到在倒真是奇,被占便宜的程度令人不知道抱不平是生。
2018-06-08 22:53:38 +08:00
回复了 est 创建的主题 Python Python 基金会 2018 董事会提名
@est Python Software Foundation 只有主要收入,捐款 PyCon US/NA,到目前止付人事(,python.orgpypi.org 系管理等等,董事和 Guido 薪水)都是勉打平。CPython 所有核心者要不是商公司薪水(例如微和 Red Hat 之)就是公益,用基金聘全核心者至少五年十年有可能的。
2018-06-08 22:35:35 +08:00
回复了 ifoolish 创建的主题 Python Pipenv 到底解决了什么问题?
基於完整揭露原:我是 Pipenv 三位目前的主要者,同其部份依。Pipenv PyPA 有格,也不者成有任何束,因此以下是我人的,法代表 Python 官方意。然而,我我的看法 Python 核心社群的普遍共一致。「 Pipenv 解什」容易人落入,因 Pipenv 本上包含了不直接相的部份:Pipfile ,以及 Virtualenv 操作。Pipenv 在部份都解有方案的,但是必分看,才能正它。

Pipfile 的目是取代在常使用的 requirements.txt 格式,引入 lock file 概念(或者叫做 shrinkwrap )。和 pip freeze 最大的差是,lock file 是一理上的依,而 pip freeze 是生上的依。你使用 pip freeze ,只是已安的套件「倒」出。你 locking 行,是直接取用套件的 metadata,直接建立套件的依果。在理上是有副作用的行(然上套件在期有什副作用是完全未知的,有法),所以只要依本身有改(例如有更新),每次 locking 的行完全相同。在依解析上是重要的特性,有趣的人可以自行研究,不述。

上面的法可能你 Pipfile 的步在於一更好的依解析格式行,但其不是如此。它提供的是依解析件事情「本身」因概念在 pip 中根本不存在。考以下的:你的案使用了套件 A 套件,它依於套件 B 的 2.x 系列。你的 requirements.txt 可能:

A==1.0
B==2.5.1

在你想要作新功能,而加入套件 C,而它依 B 套件 3.0 的 API。在使用 pip 的下,你 pip install C。由於 pip 本身有依解析功能,它只知道要安 C,以及其依 B 3.0,於是你的 freeze 果成:

A==1.0
B==3.0.0
C==1.0

候 A 很可能法使用,而你也已失去了前一,必重新建立你的境。但是更可能的是,如果你有完整的制,不定完全不件事情,直到有人抱怨。

另一方面,由於 Pipfile 有立的解析步,且不需要先套件安至境中,你 C 加入 Pipfile ,locking 就直接告知你依法被解析,防止後面的所有。且由於它只有在解析成功,才行安,你只要把 C Pipfile 移除,即可回到原本的案。

基於同的理由,Pipfile 同也有一些其他好。如果你有平台的依,例如 Windows 使用 X 套件,在 Mac 使用 Y,然後一抽象之的需求,pip freeze 基本法理。Pipfile 因不需要把套件本身到境中,就可以理。

在 Pipfile 之前,也有其他似功用的案,只是有提出全新的格式,而是沿用 requirements.txt 。piptools 是一比有名的例。不 Pipfile 的 TOML 格式 lock file 的 JSON 格式比起基於行的文字 requirements.txt 更有表能力,能理更泛的使用情境。

回到 Pipenv,在境的使用上,它的新度就有 Pipfile 格式那高,只是一 virtualenv 的,唯一比值得一提的,只有 run shell 指令。Shell 前面有人已提到,比起 activate 要方便一些,因後者是直接修改你有的 shell 境,而 shell 是直接一 shell 子程序,所以跑起更乾,也不容易出。不年 terminal emulator 街跑,也有很多其他 workaround 做法,shell 充其量就是推的 best practice 更多人知道。Run 也是差不多,其就是自你 active-行指令-deactivate。非常方便,但有特解什。

如果你 Pipenv 解了什,我而言,Pipfile 格式它提供的 locking 才是重,境管理我自己一也不什力(我加入 Pipenv 之前就,在是有自己),其什。但是 Pipenv 使用者而言,每天用到的都是境的介面,套件管理根本用不到次,更注意到它的技差,所以看它的境指令,得好像可有可也是合情合理,我者也都很清楚,所以我最近(大是今年 PyCon US 起,到在大一月)努力的方向,就是可能把 Pipenv 的各件拆分成立的套件,鼓大家根些套件建自己的工具,些技能正地被。

Pipenv 的初始作者是 Kenneth Reitz,我想大家都很清楚。Kenneth 最突出的技能,是一工作流程流、用、完整的介面,如果你有密切注他往的案,例如 Requests Records,能很明察。然而在流介面,有候就免不了牲技上的粹性:Requests 的 json() 函式 Records 的 Pandas 整合都是十分明的例子。在案中,HTTP SQL 基本都是用相成熟的用,所以大家也比能些功能的,以及函式的定位,但套件管理在 Python 社群,甚至整程式社群中,就不是那普遍的知,因此你把很多技混在一起,大家就很最成果。有令人憾,不也是我接下最重要的努力目。希望的解能大家更理解套件管理依解析,而能理解,甚至助建立 Pipenv 的正定位。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2803 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 20ms UTC 14:55 PVG 22:55 LAX 07:55 JFK 10:55
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86