首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >OS X-在anaconda和homebrew Python环境之间选择

OS X-在anaconda和homebrew Python环境之间选择
EN

Stack Overflow用户
提问于 2015-11-05 18:14:38
回答 2查看 46K关注 0票数 34

我在我的Mac上广泛使用Python,用于数值应用程序和web开发(大致相等)。我最近检查了我的笔记本电脑上的Python安装数量,惊讶地发现four

Came with Mac OS X:
/usr/bin/python
Python 2.7.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin

Installed via Homebrew
/usr/local/bin/python
Python 2.7.10 (default, Jul 13 2015, 12:05:58)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin

Installed via Anaconda/Miniconda
~/anaconda/bin/python
Python 2.7.10 |Anaconda 2.3.0 (x86_64)| (default, Oct 19 2015, 18:31:17)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

Came with the downloaded .pkg from python.org
/System/Library/Frameworks/Python.framework/Versions/Current/bin/python
Python 2.7.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin

我决定统一这一切,并使用conda。我删除了Homebrew版本和Python.org下载(保留了主系统版本)。Conda对于数值计算非常有用,因为我可以在根环境中安装Jupyter/Numpy/Pandas,而不必为每个项目都安装virtualenv。

但是现在我的整个web开发工作流程都搞乱了。我的virtualenv都不能工作,因为显然不应该同时使用conda和virtualenv。我尝试从requirements.txt文件创建conda环境。我在django中使用的一个包是"markdown_deux",它在Conda repo中不可用。我研究了构建它的方法,但创建一个食谱需要花费大量的精力(创建YAML文件等)。

有没有人找到了一个很好的折衷方案?我正在考虑返回到自制版本的一般用途,并编写一个别名,以便在必要时更改回conda版本的路径。虽然这也需要跟踪我现在使用的是哪一个..

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-05 19:22:27

我将Homebrew Python用于我所有的项目(数据科学,一些web开发人员)。

Homebrew science不是什么花哨的东西,你可以通过pip和Conda的组合手动获得相同的包。实际上,它甚至更好,因为您可以更多地控制您安装的内容。

您只能在进行web开发时使用您的virtualenvs。对于数值应用程序,您可能希望始终拥有最新版本的软件包。

如果你想用pip一次更新你所有的包,你可以使用这个命令:

sudo -H pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 sudo -H pip install -U

编辑:这个答案是旧的,如果你想要更新的比较,我找到了这篇比较两种方法的很好的博客文章:

https://towardsdatascience.com/pipenv-vs-conda-for-data-scientists-b9a372faf9d9

我仍然使用Homebrew Python,并且使用pip / pipenv而不是conda。

票数 25
EN

Stack Overflow用户

发布于 2018-09-04 18:56:48

我发现的最好的工作流程:

  • 使用conda进行虚拟环境管理。从不在系统中使用/安装。
  • 使用pip安装到活动的虚拟环境中,就像平常一样。
  • 只使用conda包安装难以安装的软件,如Qt。

自动化/额外服务

  • 使用autoenvdirenv,并在您将conda命令放入.env.envsrc文件中进入目录时自动激活虚拟环境。
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33541876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档