求教 pipenv 到底优势在哪里? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
746970179
V2EX    Python

求教 pipenv 到底优势在哪里?

  •  
  •   746970179 2018-02-26 20:12:16 +08:00 5549 次点击
    这是一个创建于 2860 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到不少大神推荐 pipenv 加之它的作者就是 requests 的作者 本身对 requests 很是佩服的, 做到了所求即所得 但是尝试 pipenv, 实在是, 找不到吸引的地方

    本身开发环境是 pip+virtualenv+virtualenvwrapper pip 解决了 python 的包环境 想创建 python3 环境, mkvirtualenv new_venv -p python3 即可 切换环境是 virtualenvwrapper 的 workon 命令 每一步都非常之方便

    pipenv 目前, 我能发现的唯一的优势, 就是能自动更新 requirements 貌似有个小缺点, 就是创建的环境会增加一些字符串, 在有些情况下, 指明解释器麻烦了一点(个人习惯吧) 求教, pipenv 还有什么爽点?

    PS: 在写的时候, 想到了为什么要用 pyenv, 因为我电脑里面就没有 python3.5, 只有 3.6 那么 python3.5 环境的创建, 对于我来说确实麻烦了点

    5 条回复    2018-03-17 02:36:51 +08:00
    janxin
        1
    janxin  
       2018-02-26 22:26:08 +08:00   2
    你说的这一些基本上确实和 virtualenvwrapper 差不多,通过 pipenv shell 可以达到和 workon 类似的效果。

    不过 pipenv 在易用性上要简单很多,同时增加了 lock 文件,能更好的锁定版本。如果没有特殊要求可以 pipenv 直接使用 lock 的版本,开发又可以小步迭代,实现依赖的稳步升级。同时,还有一个是之前用 requirements.txt 的时候通常还需要一个额外的开发 requirements.txt ,这个在 pipenv 里也合并成了单个文件。

    pipenv 还提供了安全检查功能,可以查看你使用的库有没有安全问题。
    vimiix
        2
    vimiix  
       2018-02-27 10:21:13 +08:00
    pipenv 的优势不知道其他的,至少一个是它可很方便的管理包依赖关系。卸载的时候,可以自动检查依赖库是否被其他包依赖,来选择是否彻底删除。也可以通过 pipenv graph 来查看各个包的依赖关系图。
    guyskk0x0
        3
    guyskk0x0  
       2018-02-28 01:57:32 +08:00
    用过 pipenv,感觉很卡,又没有解决核心问题。
    目前用 pyenv,可以装任意版本 Python,切换目录自动激活虚拟环境,用 pip freeze 生成 requirements.txt ,必要时手动修改,比 pipenv 省心。
    rogwan
        4
    rogwan  
       2018-02-28 08:30:13 +08:00 via Android
    pipenv 有没有解决耦合依赖的问题?比如某个功能依赖 libA==1.0.1,另外一个功能却依赖 libA==2.0.1 (换成 libA==1.0.1 会不行)
    cupen
        5
    cupen  
       2018-03-17 02:36:51 +08:00
    pipenv 在功能上算是 pip、virtualenvwrapper、requirements 的集合 ,实现的很干净,易用性提升明显。并且不再依赖那种切环境变量的使用方式,改实现到 shell 命令里了。不是每个人都接受切换环境变量,多少有点上下文混乱,对自动化运维脚本也很不友好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1083 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:11 PVG 02:11 LAX 10:11 JFK 13:11
    Do have faith in what you're doing.
    ubao msn 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