13

我喜欢将 Python 与 numpy、scipy 和其他一些软件包一起使用。我是一个绝对的 Python 初学者,在 Mac OS X 下安装时遇到了一些问题。

我正在按照这两个教程来安装 python: 12

在这里,HomeBrew 用于安装 Python(使用 pip)和 virtualenv。我对什么更好没有意见,MacPorts、HomeBrew、Fink...我只是发现本教程激发了信心。

如果我理解正确的话,我不应该接触的 OS X 系统 Python 位于 /System/Library/Frameworks/Python.Framework 下。而且我不能在 Xcode 中使用这个,因为它没有我想要的包。HomeBrew Python 将安装在 /usr/local/ 中的某个位置。我在那里找到了一个框架,但作为系统框架,它没有额外的包。本教程解释说,最好只在虚拟环境中安装额外的包,这通过 pip 完成。但我在那里找不到框架。

所以我的问题是:如何在包含可以包含到 Xcode 中的框架的虚拟环境中安装 Python?

4

1 回答 1

34
  1. Apple Python 可以正常工作,正常的站点包文件夹是/Library/Python/2.7/site-packages(而不是/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages)。您可以毫无问题地使用它。
  2. 我从来没有遇到任何问题来安装我想要作为框架的所有模块(numpy、scipy、matplotlib、pandas、shapely 和其他......),或者使用 pip 或 easy_install,包括 virtualenv(只需在 Python 中以传统方式安装它们) ) 或创建虚拟环境。
  3. 当您安装框架模块时,它被放置在普通的站点包文件夹中。
  4. 唯一的问题可能是“旧”Python 版本(对我来说不是问题,使用 2.6.x、2.7.x 和 3.3.x 版本)

但是,如果您愿意,您可以安装其他版本的 Python(64 位,而不是 32 位!):

a) 苹果规定的方式:作为框架

  • Python.org 的官方版本安装在 /Library/Frameworks/Python.framework中,site-packages 文件夹位于/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
  • 与 Python 的 Enthought 科学版本相同(预装了许多模块的科学发行版,numpy,scipy,matplotlib,...),
  • (您也可以将 Homebrew Python 版本安装为框架,见下文)

您必须在/usr/bin中更改 Python 可执行文件的 PATH (通常,这是通过符号链接或在/Users/me/.bash_profile文件中的分发自动完成的)。

如果您使用适当的 Python 可执行文件,安装在/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages中的模块不会干扰安装在/Library/Python/2.7/site-packages中的模块反之亦然。

b) 包管理系统方式

  • MacPorts 在/opt/文件夹中安装自己的 Python 版本;

    须藤端口 -v 安装 python27

  • Fink 在文件夹/sw/中安装自己的 Python 版本;

    fink 安装 Python27

  • Homebrew 在/usr/local/Cellar中安装 Python,并在/usr/local/bin中使用符号链接。

    brew install python

    brew install python --framework

  • 要使用它们,您必须将/sw/bin、/sw/lib/ 或 /opt/bin、/opt/lib/添加到 PATH 并更改 Python 可执行文件的 PATH

  • 对我来说,Fink 和 MacPorts 的主要问题是它们没有考虑已经安装的内容,而是将所有内容安装在各自的文件夹中,这可能会在库路径的管理中产生真正的问题。
  • Homebrew 解决方案是“更干净”(在/usr/local中)并且基于现有库(如果它们是最新的),否则它会安装自己的库版本

c) “自主”方式

  • 完美的解决方案是Anaconda(另一种预装了许多模块的科学发行版),
    • 干净地安装到单个目录中(您希望作为/Users/me/anaconda的位置)
    • 不需要root权限
    • 不会影响您系统上的其他 Python 安装,或干扰 OS X 框架
    • 只需设置 $PATH 或在/Users/me/.bash_profile中创建别名即可切换到/从 Anaconda
      • 别名 anaconda='/Users/me/anaconda/bin/python'
      • 别名 anaconda3='/Users/me/anaconda/envs/py33/bin/python3'
    • 您可以安装从 2.6.x 到 3.3.x 的 Python 版本
    • 用于 Python 的创新包和环境管理器,名为conda,但您可以毫无问题地使用 pip 或 easy_install
    • 现在对我来说,这是安装虚拟环境的最佳解决方案(如/Users/me/anaconda/envs/py33

d) “硬”的方式

  • 您可以以经典形式(在 /usr/ 中)或作为框架编译您自己的 Python 版本。这需要时间,但并不难。

所以你的问题:

如何在包含可以包含到 Xcode 中的框架的虚拟环境中安装 Python?

除非您是 Unix 专家(路径管理),否则您必须使用 Apple 推荐的解决方案,即框架分发(包括 Apple Python)

于 2013-07-20T09:43:47.090 回答