你们用什么工具来管理 Python 的库啊? - 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
css3
V2EX    Python

你们用什么工具来管理 Python 的库啊?

  •  1
     
  •   css3 2019-04-13 10:24:46 +08:00 9978 次点击
    这是一个创建于 2377 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我都是全 pip install xx 下来,发现越装越多,有些装了就用过一次就没用了,怎么样科学管理 python 的库呢
    windows 上用什么管理?
    linux 上用什么管理?
    第 1 条附言    2019-04-13 12:04:08 +08:00
    还有就是,自己写的 python,可能引入了一些其他第三方库,写完之后 ,要发给别人用,别人也要屁颠屁颠的 pip install xxx, 这种库的问题,如何解决呢?就是想发脚本过去,对方直接能运行就好了,(把库也一起打包过去??)
    58 条回复    2019-04-16 01:30:50 +08:00
    youngce
        1
    youngce  
       2019-04-13 10:29:47 +08:00
    pipenv 了解一下
    Sylv
        2
    Sylv  
       2019-04-13 10:31:09 +08:00 via iPhone
    pipenv 了解一下
    flyingghost
        3
    flyingghost  
       2019-04-13 11:01:15 +08:00
    pipenv 了解一下
    kaiueo
        4
    kaiueo  
       2019-04-13 11:03:48 +08:00 via iPhone   2
    anaconda
    css3
        5
    css3  
    OP
       2019-04-13 11:04:15 +08:00
    guyujiezi
        6
    guyujiezi  
       2019-04-13 11:05:12 +08:00
    py3 自带 venv
    bigjack
        7
    bigjack  
       2019-04-13 11:08:38 +08:00
    pipenv
    youngxu
        8
    youngxu  
       2019-04-13 11:09:21 +08:00 via Android   1
    conda 了解一下
    luanguang
        9
    luanguang  
       2019-04-13 11:11:36 +08:00
    我系统是 windows
    我用 conda
    XIVN1987
        10
    XIVN1987  
       2019-04-13 11:18:36 +08:00
    pip
    XIVN1987
        11
    XIVN1987  
       2019-04-13 11:19:03 +08:00
    pip + virtualenv
    congeec
        12
    congeec  
       2019-04-13 11:26:10 +08:00
    项目用 poetry

    平时用 pip+conda
    Thresh
        13
    Thresh  
       2019-04-13 11:27:21 +08:00
    conda
    chengxiao
        14
    chengxiao  
       2019-04-13 11:37:05 +08:00
    不是每个项目独立一个 virtualenv 么?
    j0hnj
        15
    j0hnj  
       2019-04-13 11:38:54 +08:00   6
    pyenv + poetry, 推荐 pipenv 的你们真的用得爽吗?
    Cbdy
        16
    Cbdy  
       2019-04-13 11:54:26 +08:00 via Android
    Docker
    caqiko
        17
    caqiko  
       2019-04-13 12:08:16 +08:00   1
    生成 requirements.txt 文件啊
    jinyu121
        18
    jinyu121  
       2019-04-13 12:15:26 +08:00 via iPhone   1
    自己是这样的:
    conda base 里面不装包
    创建一个叫 playground 的 env,随便装任何包。
    任何需要对外发(发给别人、发 github 上、发博客)的程序,都单独起一个 env,并写 requirements
    只是临时用一下的程序,在 playground 里面写完即删
    w2cny
        19
    w2cny  
       2019-04-13 12:16:00 +08:00 via Android
    anaconda+1
    workwonder
        20
    workwonder  
       2019-04-13 12:19:06 +08:00 via Android
    pipenv 经过痛苦折磨早已放弃。

    pyenv + pyenv-virtualenv + pip-tools
    secsilm
        21
    secsilm  
       2019-04-13 12:20:59 +08:00 via Android
    Pipenv 用过不成熟,对数据科学不友好,数据科学还是 conda 吧
    hujianxin
        22
    hujianxin  
       2019-04-13 12:28:02 +08:00
    poetry,感觉比 pipenv 好用很多
    hujianxin
        23
    hujianxin  
       2019-04-13 12:28:38 +08:00
    pipenv 真的有点不太行
    aneureka
        24
    aneureka  
       2019-04-13 12:47:17 +08:00 via Android
    项目用 virtualenv 脚本就直接 pip 了…
    ifane
        25
    ifane  
       2019-04-13 13:06:23 +08:00
    docker 加一
    cranelee13
        26
    cranelee13  
       2019-04-13 13:27:04 +08:00 via iPhone
    vmware
    daolanfler
        27
    daolanfler  
       2019-04-13 14:56:55 +08:00
    pyenv + pipenv 加一
    4BVL25L90W260T9U
        28
    4BVL25L90W260T9U  
       2019-04-13 15:54:48 +08:00
    还在使用 pip,研究过 pipenv,感觉就是垃圾,问题多不说,开发者态度非常傲慢
    ly1836
        29
    ly1836  
       2019-04-13 16:28:29 +08:00
    Anaconda Navigator
    keepeye
        30
    keepeye  
       2019-04-13 16:30:11 +08:00
    pyenv + virtualenv,保证每个项目一个环境互不干扰
    BlBana
        31
    BlBana  
       2019-04-13 16:36:09 +08:00 via Android
    @keepeye 握爪,我也是这么搞得
    flyingghost
        32
    flyingghost  
       2019-04-13 17:47:32 +08:00
    @j0hnj 项目依赖比较简单,暂时还没遇到痛点,除了 lock 耗时问题。
    能比较一下 pipenv 和 poetry 吗?
    RAHJK
        33
    RAHJK  
       2019-04-13 19:30:21 +08:00 via iPhone
    别的不知道,pipenv 真是 bug 多多,慎用
    lynskylate
        34
    lynskylate  
       2019-04-13 19:34:17 +08:00 via Android
    poetry
    whileFalse
        35
    whileFalse  
       2019-04-13 21:05:46 +08:00
    本地开发直接 install,持续集成走 docker
    CallMeReznov
        36
    CallMeReznov  
       2019-04-13 21:09:18 +08:00
    LZ 你后来那个肯定是 virtualenv 啦
    或者 windows 用 pyinstall 打包
    2s2k
        37
    2s2k  
       2019-04-13 21:22:25 +08:00
    pyenv virtualenv +1
    devtk
        38
    devtk  
       2019-04-13 21:30:23 +08:00
    conda
    lihongjie0209
        39
    lihongjie0209  
       2019-04-13 21:38:31 +08:00
    python 目前没有看到支持类似 java 中的 fatjar 这种把依赖全部打包的模式, 所以楼主的需求基本无解, 我现在给别人写工具首选会是 java, 一来比较熟悉, 二来依赖管理方便
    scukmh
        40
    scukmh  
       2019-04-13 21:40:50 +08:00
    pyenv + requirements.txt
    iorilu
        41
    iorilu  
       2019-04-13 22:38:13 +08:00   1
    pipenv 确实不好用, 凭空找麻烦

    不折腾, 就是 venv+requirements 安装下也就几分钟时间

    如果希望直接用就 docker
    Nick2VIPUser
        42
    Nick2VIPUser  
       2019-04-13 22:48:24 +08:00
    pycharm+virtualenv 爽
    Nick2VIPUser
        43
    Nick2VIPUser  
       2019-04-13 22:49:07 +08:00
    pip download -r requirements.txt 了解一下
    yim7
        44
    yim7  
       2019-04-13 23:43:41 +08:00
    virtualenvwrapper 了解一下,可以方便的管理虚拟环境,自己写脚本也可以的,只是我不会写 shell 脚本的补全……
    IAPYANG
        45
    IAPYANG  
       2019-04-14 01:24:23 +08:00 via iPhone
    anaconda
    quinoa42
        46
    quinoa42  
       2019-04-14 06:40:03 +08:00
    pacman。。不拿 python 写 project
    shuax
        47
    shuax  
       2019-04-14 09:29:33 +08:00
    requirements.txt
    Fitz
        48
    Fitz  
       2019-04-14 09:37:29 +08:00
    pipenv 的 lock 有时真的很耗时几十分钟我都遇到过
    starsky007
        49
    starsky007  
       2019-04-14 09:41:43 +08:00
    @css3 @lihongjie0209

    将自己写的 Python 包与依赖一起打包的方式

    在代码根目录下:

    1. 首先执行:

    pipreqs --ignore target --force .

    生成 requirements.txt 。

    2. 然后执行:

    pip install -r requirements.txt -t target

    把依赖安装到 target 目录下。

    3. 最后,把源码复制到 target 目录下,删除一些不必要的文件,就可以打包了。

    我在使用无服务器云函数时,就是这么干的,确定可行。只是需要分步操作,没有找到现成的工具可以像 Maven 那样打包,自己也懒得写。

    参考:

    [Python 中的 AWS Lambda 部署程序包 \- AWS Lambda]( https://docs.aws.amazon.com/zh_cn/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html#python-package-dependencies)
    shadownet
        50
    shadownet  
       2019-04-14 13:46:19 +08:00 via iPhone
    @youngxu conda 在 win macos 经常出现无法更新 我已经放弃
    silkriver
        51
    silkriver  
       2019-04-14 13:55:39 +08:00
    conda 需要设置境内镜像源,实际上 pip 也需要,否则就算可以更新也慢。
    way2create
        52
    way2create  
       2019-04-14 14:00:08 +08:00
    作为一个不搞 py 的 有时候用 py 的库干点什么 都是用 pycharm 的 venv install 的
    youngxu
        53
    youngxu  
       2019-04-14 14:37:39 +08:00 via Android
    @shadownet 你没换清华源吧
    Qzier
        54
    Qzier  
       2019-04-14 16:01:04 +08:00
    大项目:pipenv install
    脚本:python -m venv venv
    python 版本管理:pyenv
    lonelygo
        55
    lonelygo  
       2019-04-14 16:38:31 +08:00
    pipenv 看起来挺美,玩玩可以,用的真不爽啊。
    pyenv 多好用啊。
    zhanlingjie
        56
    zhanlingjie  
       2019-04-15 09:45:05 +08:00
    @Cbdy 我感觉基于语言层面跑一个容器是不是有点浪费
    Cbdy
        57
    Cbdy  
       2019-04-15 11:18:55 +08:00 via Android
    @zhanlingjie 你都用 Python 了还在乎这点性能开销?
    fakepoet
        58
    fakepoet  
       2019-04-16 01:30:50 +08:00
    pyenv
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1570 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 16:27 PVG 00:27 LAX 09:27 JFK 12:27
    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