OS X-决定anaconda和自制Python环境

2024-06-07 05:00:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Mac OS X上广泛使用Python,用于数字应用程序和web开发(大致相同)。我查看了我最近在笔记本电脑上安装的Python的数量,发现有4个安装程序让我震惊:

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。我删除了自制版本和Python.org下载(保留了主系统)。Conda非常适合数值计算,因为我可以在根环境中安装Jupyter/Numpy/Pandas,而不必为每个项目安装virtualenvs。

但现在我的整个web开发工作流程都一团糟。我的virtualenv都不工作,因为很明显,不应该同时使用conda和virtualenv。我试图从requirements.txt文件创建conda环境。我在django中使用的一个包是“markdown_deux”,这在Conda repo中不可用。我研究了构建它的方法,但是创建一个菜谱需要很多努力(创建YAML文件等)

有人为此找到了一个好的折衷方案吗?我正在考虑返回到一般使用的自制版本,并编写一个别名,以便根据需要将路径更改回conda版本。虽然这也需要追踪我现在使用的是哪一个。。


Tags: org版本defaultapplebinosonmac
2条回答

我的所有项目(数据科学,一些web开发)都使用自制Python。

Conda不是什么新奇的东西,你可以用pipHomebrew science的组合手工拥有相同的包。实际上,它甚至更好,因为你有更多的控制权,你安装。

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

如果要使用pip同时更新所有包,可以使用以下命令:

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

我发现最好的工作流程:

  • 使用conda进行虚拟环境管理。从不在系统python中使用/安装。

  • 使用pip安装到活动虚拟环境中,就像正常情况一样。

  • 仅对难以安装的软件(如Qt)使用conda软件包

自动化/附加

  • 使用autoenvdirenv,并在输入目录时通过将conda命令放入.env.envsrc文件自动激活虚拟环境。

相关问题 更多 >