在Mac上是否可以安装homebrew和Enthought的Python而不相互干扰?

0 投票
3 回答
2832 浏览
提问于 2025-04-17 04:12

我非常喜欢在我的Mac上使用Homebrew来管理软件包(我用的是OS X 10.6,x86_64)。不过,我最近尝试安装MayaVi和wxPython等软件,结果真是太麻烦了。请问有没有办法从Enthought的预编译版本安装Python发行版,而不会影响我的Homebrew设置呢?

谢谢!
Uri

3 个回答

1

我建议你试试 Python 的 virtualenv,这个工具可以让你有一个“默认”的环境,里面可以用到 Homebrew 安装的各种好东西。当你想用 EPD 的时候,只需要运行一下就可以了。

python virtualenv.py EPD

你可能需要卸载然后重新安装 Enthought,这个过程可能会遇到一些挑战。我当时走这条路的时候,最后放弃了 EPD,转而回到基于网页的图形工具 d3(d3js.org)和它相关的 Python 库(https://github.com/mikedewar/d3py)。

2

K.-Michael Aye 写的内容似乎有效。我花了一些时间才明白(我对 Python 和终端还不太熟悉),所以如果你也在这个阶段,这里有一些代码可以参考:

你的 .bash_profile 文件告诉系统该使用哪个 Python 包。这个文件位于 ~/.bash_profile,如果你安装了 EPD Python,它应该看起来像这样:

# Setting PATH for EPD-7.3-2
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH

MKL_NUM_THREADS=1
export MKL_NUM_THREADS

PATHexport 这两行前面加上井号(#),这样就可以把它们注释掉。然后重启终端,检查一下 Homebrew:

$ brew doctor
Your system is raring to brew.

当你完成 Homebrew 安装后,再把刚才注释掉的那两行去掉,然后再次重启终端,这样就可以使用 EPD Python 了。

2

这没什么问题,只要你的 PATH 和 PYTHONPATH 设置正确就行。我自己使用的是官方最新的 Python 版本(2.7.x),同时还在用 32 位的 EPD Python 和 64 位的 Python,所有我需要做的就是快速编辑我的 .bash_profile 文件,来正确设置 PATH。

其实还有更聪明的方法来高效管理不同版本,比如不动 PATH 和 PYTHONPATH,而是让它们指向一个软链接,当你想用不同的 Python 版本时只需要更改这个链接(就像 /Library/Frameworks/Python.Framework/Versions/Current 里的链接)。不过我更喜欢快速注释掉我 .bash_profile 中的 PATH 定义。

另外一个管理不同环境的工具是 Python 的一个包 virtualenv

撰写回答