大家喜欢使用 anaconda 吗?

2018-12-26 17:51:13 +08:00
 windcode

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

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

个人认为 anaconda 的功能:

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

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

14934 次点击
所在节点    Python
73 条回复
glaucus
2018-12-27 17:21:31 +08:00
miniconda +1
yanring
2018-12-27 18:01:33 +08:00
喜欢用 pip +1
但其实 anaconda 有个很好的优点是:诸如 TensorFlow, numpy 之类的包,anaconda 装上来是支持 mkl 的,比 pip 装的要快很多。
TheWalkingDead
2018-12-27 18:05:11 +08:00
深度学习的也可以用~一直工作在 anconda 下。

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

我司算法人员基本都是 anaconda,如果用 pip,我觉得大概率是算法菜鸟。
Airy
2018-12-27 18:23:05 +08:00
miniconda,window 下安装 django websocket 总是失败,实在无解使用 miniconda,妈妈再也不用担心我的环境了
est
2018-12-27 18:24:31 +08:00
miniconda3 不错。去掉 MKL 之后更 mini 了。
zpaopao
2018-12-27 19:36:00 +08:00
喜欢用,但我感觉比较臃肿。
Sasasu
2018-12-27 19:41:55 +08:00
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 依赖了 :( )
TheWalkingDead
2018-12-28 09:30:56 +08:00
@Sasasu
#67 我同时需要 py2.7 py3.6 py3.7 又因为我的环境必须是 mac 所以我的解决办法是: 装个 debuan buster 虚拟机
---------------------------
同时需要装这么多,用 conda activate 切换环境不方便?还装三个虚拟机,真是我见过最愚蠢的人了。
还有,tf 编译有多难?呵呵,tf 这么多版本,你一个个去编译试试? tf 来一个版本,你编译一个?你 leader 不会骂你愚蠢吗。
Earl
2018-12-28 09:42:34 +08:00
@TheWalkingDead 我们这里从学校刚毕业的或者对 python 不太熟的,会用 anaconda 过渡一下,到后面就都自己按需弄环境了。看来我们这里都是越活越菜鸟了啊。
TheWalkingDead
2018-12-28 10:09:59 +08:00
@Earl 应该是你司比较 low
Earl
2018-12-28 10:48:49 +08:00
@TheWalkingDead 这个回复倒是很清奇,就好像说只有用 matlab 才高大上,用 c++写算法的都是 low B。
不过你这个回复倒是很符合你对 V2EX 的认识,哈哈。
Sasasu
2018-12-28 12:40:33 +08:00
@TheWalkingDead
我装了一个虚拟机, 里面有我需要全部 python 版本

conda 的源码分发在 linux 上没有优势, 反倒有坏处, 比如你的机器没有 AVX2, conda 上的 tf 带 AVX2, 然后就 core dumped 了
Les1ie
2018-12-28 13:00:16 +08:00
用不惯 conda.... 也试过 pipenv,还是觉得 pip 更靠谱 :)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/521254

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX