首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

大家喜欢使用 anaconda 吗?

  •  1
     
  •   windcode · 149 天前 · 5731 次点击
    这是一个创建于 149 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比较好奇大家喜欢用 anaconda 吗? anaconda 的存在是否有些多此一举呢?

    背景:Anaconda 指的是一个开源的 Python 发行版本,其包含了 conda、Python 等 180 多个科学包及其依赖项

    个人认为 anaconda 的功能:

    • 预装很多科学计算库
    • 管理 python 库
    • 虚拟环境

    但是以上功能原生 python 完全可以自己解决:

    • pip (需要什么装什么)
    • pip
    • virtualenv

    那么 anaconda 似乎仅仅是集成了一些功能,让入门变得方便了一些,真的有必要为了一点入门的方便就再套个 conda 去管理 python 吗?

    第 1 条附言  ·  148 天前

    大家的评论我都看了,很有意思~ 感谢大家客观的回复

    截止到61楼,我总结了一下大家的讨论。

    anaconda 有竞争力的优势:二进制发布,开箱即用,可以免去一些编译麻烦

    嫌 anaconda 臃肿的替代方案:miniconda

    意向投票(手动统计)

    • 喜欢:21
    • 不喜欢:18
    • 意向不明:14
    73 回复  |  直到 2018-12-28 13:00:16 +08:00
        1
    TimePPT   149 天前
    科学计算开箱即用,使唤 anaconda 挺好的。
    另外,pip 在 win 下没 anaconda 友好。
        2
    wsh1108   149 天前
    windows 下省事。linux 下感觉没必要,有点臃肿
        3
    windcode   149 天前
    @TimePPT pip 在 win/linux 我都用过,没发现有什么问题啊
        4
    welkinzh   149 天前
    太大了,不做科学计算的话用 pipenv 管理环境就够了
        5
    windcode   149 天前
    @wsh1108 +1,太臃肿反而不友好
        6
    jiangnanyanyu   149 天前 via Android
    还要记一套命令,懒了
        7
    windcode   149 天前
    @welkinzh 我也觉得太大,而且它的功能不是很必要
        8
    wuhang89   149 天前
    喜欢。
        9
    Bryan0Z   149 天前 via Android
    我也喜欢 2333
        10
    shadownet   149 天前 via iPhone
    问题蛮多的 快到弃用的边缘了
        11
    hahastudio   149 天前
    科学计算和开发是两个不同的目标人群
    开箱即用我觉得很重要的
        12
    hakono   149 天前 via Android
    嗯。。。楼主一看就是没有被电脑上要装 n 个版本的 Python 折磨过的人
    以及楼主体验下为了做个科学计算,安装了数不清的各种专业科学包,然后一堆包编译有问题一个个去解决有可怕
        13
    justou   149 天前 via Android
    用的 miniconda
        14
    wzw   149 天前 via iPhone
    有 conda mini ?
        15
    skyc   149 天前
    喜欢~ 多 python 环境隔离~ 开发也好实验也好都方便
        16
    windcode   149 天前
    @hakono emm,多版本 python 我一般用 update-alternatives 管理。科学库的话,需要编译的库用 conda 就能直接安装了吗?
        17
    Kobayashi   149 天前 via Android
    搞科学家计算可以直接上,不是干这个的没必要用。一般管理多版本 Python、虚拟环境用 pyenv、pipenv。如果执意要使用 conda 管理多版本 Python 中、虚拟环境,使用 miniconda。
        18
    dacapoday   149 天前
    还有国内那些用 centos 标配 py2 却不给 sudo 权限的。装 py3 没权限,编译又缺包,系统库版本太低。只能用 anaconda,二进制发布,即下即用。也内置了 pip,和 conda 指令互不影响。
        19
    Kobayashi   149 天前 via Android
    pip 和 conda 并不是完全对应关系,前者是包管理,后者既管理包,也管理 Python 版本、虚拟环境。
    miniconda 可视为一种 CPython 发行版本,因为普通 pip install conda 获得的 conda 好像是个阉割版。anaconda 可以视作 miniconda 外加预安装各种科学计算包。我猜 ana 是指 analysis ?
        20
    hsfzxjy   149 天前 via Android
    conda 省去很多编译的烦恼,许多科学计算库编译起来相当麻烦,还有版本依赖问题
        21
    glasslion   149 天前 via Android
    @Kobayashi 玩梗 anaconda 是水蟒的意思
        22
    Bismarrck   149 天前   ♥ 1
    当你要在 centos 6.5 下跑 tensorflow,glibc 只有 2.12 ,没有 sudo 权限时,就知道 anaconda 的可贵了

    而且开箱即用实在是方便
        23
    ClutchBear   149 天前
    用 miniconda
        24
    orangeade   149 天前
    miniconda3 在 win 上最近版本都有问题,
    比如 python 3.7.1 编译时没有 ssl 模块:
    https://github.com/AnacondaRecipes/python-feedstock/issues/13

    conda install jupyterlab 启动后一堆报错,
    pip 反而没问题
        25
    TimePPT   149 天前
    @windcode 可能我比较菜吧 😂
        26
    mmixxia   149 天前
    就是比较臃肿一点,但是很多时候也是比较省事,多一种选择吧。
        27
    labnotok   149 天前 via Android
    conda 不只是虚拟
        28
    GoLand   149 天前
    pyenv 大法好,conda 太臃肿了。
        29
    fan2006   149 天前
    你应该明白 python 不只是面向程序员。还有其他行业的人在用的。别人需要的是自己操控就可以开的车,而不是还要组装好才能开的车。
        30
    zhangzhe532   149 天前 via Android
    Python 版本问题才是 anaconda 主要解决的对象吧,2.X 并未淘汰 3.X 也在用,加上各个小版本,假如电脑用的 3.7 的,工作用 tensorflow,但是 tensorflow 只到 3.6。就很烦
        31
    JackieMe   149 天前 via Android
    Anaconda 觉得太臃肿了,用的 Miniconda
        32
    ex2vkf   149 天前
    太臃肿了
        33
    ppphp   149 天前
    anaconda 是 windows python 唯一解决方案,mac 和 linux 上各种选择就多了去了,甚至可以按需搭配
        34
    Vegetable   149 天前 via Android
    科学计算常用的 notebook 一般开发者根本用不到,spyder 同理。
    其实这个发行版真的是为科学计算而生的,我开发机根本就一点都用不上,他最方便的就是可以命令行安装其他版本的 Python
        35
    wwhio   149 天前
    用 miniconda
        36
    congeec   149 天前
    linux 下如果你需要 mkl 的话,还是 anaconda 比较方便
    Gentoo 用户请无视我
        37
    widewing   149 天前 via Android
    几乎完全用 conda 替代 venv+pip 的路过~
        38
    lxmmmm   149 天前 via Android
    Windows 上是真方便,Linux 就算了,自己 pip 搞定一切
        39
    sola97   149 天前
    tensorflow
        40
    youngxu   149 天前 via Android
    喜欢,Windows 上用 Anaconda,Linux 上用 Miniconda,科学计算必备,用着方便
        41
    superzou   149 天前 via Android
    可以集中精力做科学计算 而不是配置环境什么的。别人可能不是程序员,不需要浪费时间配置什么虚拟环境管理,依赖什么的。
        42
    lovestudykid   149 天前
    现在也感觉太臃肿了,包不是特别全。加了 conda-forge 的 channel 导致非常奇异的问题,理论上不能直接 update 大版本的,但我从 python 3.6 升级到了 python 3.7,然而部分软件包还是 3.6 的,没法用。
        43
    ZRS   149 天前
    更喜欢 pip
        44
    hscui   149 天前
    作为一个新人,用 Anaconda 感觉非常好;特别是 Spyder 和 Notebook 开箱即用,不用浪费时间在环境配置上,先关注语言本身就好。

    当然,Python 入门以后就可以换用其它东西来折腾了。
        45
    twl007   149 天前 via iPhone
    做科学计算就知道好了……有些特殊的科学计算的包要到特定渠道去下才行 要是自己编译真的是要命了
        46
    silkriver   148 天前
    Anaconda 不过就多占些硬盘空间而已,硬盘根本不能算是资源
        47
    huiyifyj   148 天前 via Android
    太臃肿了。解压都满😐😶
        48
    jiejiss   148 天前
    Mac / Linux 用啥都行。
    Windows 自己玩玩(低端玩家)只用 pip 就够了。最多到 python2 -m pip 和 python3 -m pip 这份上。
    Windows 搞科学计算和机器学习,不用 Anaconda,死都不知道怎么死的
    我就想到去年我想在 Windows 10 上搭个 style2paints ……编译依赖库,报错几十个,一个个看,读 setup.py 源码和 python 自带的调用 C++ Compiler 的脚本的源码,然后再一点点下断点调试……还有为了编译装了 VS 2017 和 VS 2015 ……我的妈呀……
        49
    zst   148 天前 via Android
    嫌臃肿可以用 miniconda。。。。但是 pip 是真的烦。。。总是莫名其妙报错。。。还不如 conda 省事....但是 conda 速度很慢不知道为啥
        50
    qcts33   148 天前
    科学计算用到的 Numpy Scipy sklearn pandas 都是有 C 乃至 Fortran 的依赖的,要自己编译就太麻烦了
    另外 conda 的 Numpy 的线性代数运算都是链接到 MKL 的,速度可能比你自己编译的更快
        51
    silkriver   148 天前
    要设国内镜像源速度才会快的( conda 国内源似乎只有中科大和清华两个)
        52
    xpresslink   148 天前
    这个看个人需求吧。
    非开发人员做科学计算为主的时候用这个比较方便,还有一些非 CS 专业的小白刚上手用的时候比较容易。
    如果是对 LINUX 和各种操作系统都玩得很 6 就没有必要装这么一个臃肿玩意儿了,自己随便搞了。
        53
    l0o0   148 天前
    在我看来,anaconda 的功能包括了 pip 和 virtualenv 的。pip 和 virtualenv 的服务于 python 包,anaconda 还有管理一些包信赖相关的库文件什么的,功能更方便一些。省得一些非 root 下安装各种奇怪的库文件,减少了许多不必要的安装问题。
        54
    fhy1994   148 天前
    从来不用
    原生 venv + pip 完全够用了
        55
    withablink   148 天前
    建议用 miniconda
        56
    wupher   148 天前
    喜欢,开箱即用
        57
    RockShake   148 天前
    不喜欢那些配置,直接打开 Jupter Notebook 就能用,挺好的,另外一个 WinPython 感觉也不错
        58
    magicalion   148 天前
    更喜欢用 pip 和 virtualenvwrapper。

    之前被 anaconda 安装要卸载弄过一次,很不方便。
        59
    windcode   148 天前
    @dacapoday 这一点确实有竞争力
        60
    TingHaiJamiE   148 天前
    弄一次 caffe,就体会到 anaconda 的好处...
        61
    glaucus   148 天前
    miniconda +1
        62
    yanring   148 天前
    喜欢用 pip +1
    但其实 anaconda 有个很好的优点是:诸如 TensorFlow, numpy 之类的包,anaconda 装上来是支持 mkl 的,比 pip 装的要快很多。
        63
    TheWalkingDead   148 天前
    深度学习的也可以用~一直工作在 anconda 下。

    conda install 和 pip install 安装的 tensorflow-gpu 不太一样,conda 会根据 tf 版本,自动安装不同版本的 cuda 和 cudnn。如果只在电脑上装某一个版本的 cuda 和 cudnn,然后用 pip 安装,很多需要手动编译 tf。

    我司算法人员基本都是 anaconda,如果用 pip,我觉得大概率是算法菜鸟。
        64
    Airy   148 天前 via Android
    miniconda,window 下安装 django websocket 总是失败,实在无解使用 miniconda,妈妈再也不用担心我的环境了
        65
    est   148 天前
    miniconda3 不错。去掉 MKL 之后更 mini 了。
        66
    zpaopao   148 天前
    喜欢用,但我感觉比较臃肿。
        67
    Sasasu   148 天前
    pyenv 入侵性太强, 会在 path 里放一个假的 python, 依赖真 python 的 cli 工具会炸
    venv 在 py2 下不能嵌套, 会让那些把 source xxx 放在 bashrc 里的人脑袋爆炸
    pipenv 看起来是最好的, 但是不防小版本
    同时这些工具都是用来启动一个服务. 不能让 cli 工具在虚拟环境里运行

    pipsi 是给 cli 工具用的 pipenv, 但是和 pyenv 有冲突

    conda 是大而全的解决方案: 二进制分发+防小版本升级.
    但是和上面的 env 们一个毛病, 不能包装 cli 工具. conda2 里为了一个 py3 必须新建一个环境, 还要起个名字.

    我同时需要 py2.7 py3.6 py3.7 又因为我的环境必须是 mac 所以我的解决办法是: 装个 debuan buster 虚拟机

    其实上面的各种问题装个 linux 都能解决...

    说用 pip 装肯定是算法菜鸟的肯定是不会自己编译软件的, 没有一份 tf 的头文件用啥 tf :)

    https://aur.archlinux.org/packages/python-sonnet-git/ (虽然现在 sonnet 已经没有 c 依赖了 :( )
        68
    TheWalkingDead   147 天前
    @Sasasu
    #67 我同时需要 py2.7 py3.6 py3.7 又因为我的环境必须是 mac 所以我的解决办法是: 装个 debuan buster 虚拟机
    ---------------------------
    同时需要装这么多,用 conda activate 切换环境不方便?还装三个虚拟机,真是我见过最愚蠢的人了。
    还有,tf 编译有多难?呵呵,tf 这么多版本,你一个个去编译试试? tf 来一个版本,你编译一个?你 leader 不会骂你愚蠢吗。
        69
    Earl   147 天前
    @TheWalkingDead 我们这里从学校刚毕业的或者对 python 不太熟的,会用 anaconda 过渡一下,到后面就都自己按需弄环境了。看来我们这里都是越活越菜鸟了啊。
        70
    TheWalkingDead   147 天前
    @Earl 应该是你司比较 low
        71
    Earl   147 天前
    @TheWalkingDead 这个回复倒是很清奇,就好像说只有用 matlab 才高大上,用 c++写算法的都是 low B。
    不过你这个回复倒是很符合你对 V2EX 的认识,哈哈。
        72
    Sasasu   147 天前
    @TheWalkingDead
    我装了一个虚拟机, 里面有我需要全部 python 版本

    conda 的源码分发在 linux 上没有优势, 反倒有坏处, 比如你的机器没有 AVX2, conda 上的 tf 带 AVX2, 然后就 core dumped 了
        73
    Les1ie   147 天前
    用不惯 conda.... 也试过 pipenv,还是觉得 pip 更靠谱 :)
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1052 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 23:12 · PVG 07:12 · LAX 16:12 · JFK 19:12
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1