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
gaoyadianta
V2EX  ›  Python

之前是不是有人推荐 pipenv,垃圾到不能用啊

  •  
  •   gaoyadianta · 2019-09-25 10:15:22 +08:00 · 4489 次点击
    这是一个创建于 1890 天前的主题,其中的信息可能已经有所发展或是发生改变。
    lock 好久好久,install 个东西还时不时的失败,这种项目怎么还能有人推荐
    13 条回复    2019-12-18 18:39:54 +08:00
    ly4572615
        1
    ly4572615  
       2019-09-25 11:18:30 +08:00
    是不是你用的方法有问题呀亲
    lc1450
        2
    lc1450  
       2019-09-25 12:17:46 +08:00
    不要用 Pipenv site:zhihu.com
    lc1450
        3
    lc1450  
       2019-09-25 12:19:14 +08:00
    不能直接发链接,搜这个,第一条
    gaoyadianta
        4
    gaoyadianta  
    OP
       2019-09-25 12:54:16 +08:00
    @ly4572615 我现在确定用法没问题,github 上搜一下一堆一堆类似的 isssue,你用着很爽?
    gaoyadianta
        5
    gaoyadianta  
    OP
       2019-09-25 12:54:30 +08:00
    @lc1450 好吧,为时已晚啊
    lovepocky
        6
    lovepocky  
       2019-09-25 13:05:47 +08:00 via iPhone
    pipenv 很烂,我们现在用 poetry,相对好点
    gaoyadianta
        7
    gaoyadianta  
    OP
       2019-09-25 13:29:49 +08:00
    @lovepocky 这个怎么样,有明显的硬伤吗
    ClericPy
        8
    ClericPy  
       2019-09-25 22:51:10 +08:00
    这段时间是有一波节奏从 pipenv 转 poetry 的

    反正我平时小项目 pipenv 没什么问题, 至于 lock 时间太长, 有的时候可以 ignore lock, 另外... 一般依赖没改变的情况还真没用过 pipenv install, 也就不存在被它拖时间的情况了, 有人推荐是因为省事, 而且也没什么其它简单选择啊, poetry 就算再好, 就算支持捎带发布 twine pypi 什么的, 还是感觉有学习成本, pipenv 的成本就是 pipenv run........
    gaoyadianta
        9
    gaoyadianta  
    OP
       2019-09-26 17:35:25 +08:00
    @ClericPy 不用 pipenv install,新包怎么安装呢?依赖老也不改变,我管理个啥,问号脸,这个工具存在不就是为了管理这些包的么。所以你的逻辑是,如果不怎么用它,那它还可以。???
    还是说我理解错你说的依赖了
    Trim21
        10
    Trim21  
       2019-10-20 18:11:28 +08:00 via Android   ❤️ 1
    之前有一段时间同时使用 pioenv 和 poetry,这段时间尝试了一下 pipenv,还是用回 poetry 了。

    poetry 比 pipenv 在各种角度上好用很多,就比如他 readme 里面提到的,为什么要同时维护一个 requirements,还要维护两个 pipenv 的文件,这几个文件本来不就应该保持同步么,难道你的项目中依赖于 requests=1 你会安装一个 requests=2 在环境中吗。


    我习惯用 windows 开发,然后打包成 docker 放到 linux 服务器上去,或者用 windows 开发,打包在三个平台上使用,这个使用场景 pipenv 似乎完全没考虑。

    poetry 生成的 lock 是跨平台的,也就是说你在 windows 下面生产的 lock 文件不需要担心在 linux 下面会生成不一样的 lock 文件(当然换行符的问题还是存在)。

    poetry 在安装依赖的时候,就像他的 readme 一样,会保证你安装的依赖没有版本冲突问题,但 pipenv 就是单纯的像 pip 一样安装所有依赖,然后把版本写死而已。参照 https://github.com/sdispater/poetry/blob/master/README.md#dependency-resolution 这一点似乎 poetry 是现在唯一的工具会解决这个问题。


    至于学习成本,其实 poetry 也有 run 命令,就是 pipenv run 换成 poetry run。
    Trim21
        11
    Trim21  
       2019-10-20 18:15:05 +08:00 via Android
    但 poetry 没法帮助解决你解析依赖用时很长的问题,poetry 前几次解析依赖也巨慢而且经常失败,我当初就是被这个劝退。
    不过在成功运行并把需要的数据缓存到本地之后情况就好多了。
    gaoyadianta
        12
    gaoyadianta  
    OP
       2019-10-21 10:02:34 +08:00
    @Trim21 谢谢,不过有一个问题指出下:在不需要的情况下,pipenv 是不需要维护 requirements 文件,pipfile 和 pipfile.lock 就可以了。我没用过 poetry,不过就我使用 pipenv 的体验来说,它在各方面的设想都没有什么问题,只是这个 lock 失败真的是蛋疼死。。。
    Trim21
        13
    Trim21  
       2019-12-18 18:39:54 +08:00
    @gaoyadianta #12 因为我要打包传到 pypi 上面去, 所以我需要维护一个 requirements 文件...更新了两次依赖版本就弃用了, 都没等到用在不需要维护 requirements.txt 的项目上

    poetry 最近发了 1.0.0, 不如尝试一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5851 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 06:29 · PVG 14:29 · LAX 22:29 · JFK 01:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.