Mac OS X 虚拟环境中的 Python 安装是否包含一个可以包含到 Xcode 中的框架?

2024-03-01

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

我按照这两个教程来安装 python:1 http://hackercodex.com/guide/mac-osx-mountain-lion-10.8-configuration/ and 2 http://hackercodex.com/guide/python-virtualenv-on-mac-osx-mountain-lion-10.8/.

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

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

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


  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) Apple规定的方式:作为框架

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

您必须更改Python可执行文件的路径/usr/bin(通常,这是通过符号链接或在/用户/我/.bash_profile文件 )。

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

b) 包管理系统方式

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

    sudo port -v 安装 python27

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

    芬克安装Python27

  • Homebrew 安装 Python/usr/local/地窖带有符号链接/usr/local/bin.

    酿造安装Python
    or
    酿造安装Python——框架

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

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

c)“自主”方式

  • the perfect solution is Anaconda https://store.continuum.io/ (another scientific distribution with many modules preinstalled, ),
    • 干净地安装到单个目录中(您想要的位置)/用户/我/anaconda)
    • 不需要root权限
    • 不会影响系统上的其他 Python 安装,也不会干扰 OS X 框架
    • switch to/from Anaconda just by setting $PATH or creating an alias in /Users/me/.bash_profile
      • 别名 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 没有问题
    • 现在对我来说,安装虚拟环境是最好的解决方案(如/用户/我/anaconda/envs/py33 )

d)“艰难”的方式

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

所以你的问题是:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac OS X 虚拟环境中的 Python 安装是否包含一个可以包含到 Xcode 中的框架? 的相关文章

  • 如何有条件地组合两个相同形状的 numpy 数组

    这听起来很简单 但我想我把它想得太复杂了 我想创建一个数组 其元素是从两个形状相同的源数组生成的 具体取决于源数组中哪个元素更大 为了显示 import numpy as np array1 np array 2 3 0 array2 np
  • OS/X 上的 iTunes COM 接口

    iTunes COM 接口在 Mac OS X 上可用吗 从我能找到的文档来看 它似乎比我可以通过以下方式公开的 Applescript 接口要广泛得多自动机程序 免责声明 这里绝对是 OS X 新手 COM 接口仅适用于 Windows
  • DataFrame 中的字符串,但 dtype 是对象

    为什么 Pandas 告诉我我有对象 尽管所选列中的每个项目都是一个字符串 即使在显式转换之后也是如此 这是我的数据框
  • 在基于视图的 NSTableView 中,如何通过单击使控件成为第一响应者?

    基于视图的 NSTableView 似乎只有标准行为 为了使表内的文本字段成为第一响应者 用户必须双击或单击并 保持冷静 然而 考虑到基于视图的 NSTableViews 提供的灵活性 这种行为并不总是可取的 因为现在可能有很多不同且复杂的
  • 使用reduce方法的斐波那契数列

    于是 我看到有人用reduce方法来计算斐波那契数列 这是他的想法 1 0 1 1 2 1 3 2 5 3 对应于 1 1 2 3 5 8 13 21 代码如下所示 def fib reduce n initial 1 0 dummy ra
  • 在 Mac 上使用 JRE 打开 jar 文件

    我有一个 jar 文件 旨在通过命令行运行 我不打算在运行应用程序的机器上进行任何java开发 我的思考过程是 因此我应该只需要JRE而不是JDK 此外 JDK 大约是 JRE 的 4 倍 我不想下载它 在 Mac 上安装 JRE 时 它不
  • Python 相当于 Bit Twiddling Hacks 中的 C 代码?

    我有一个位计数方法 我正在尝试尽可能快地实现 我想尝试下面的算法位摆弄黑客 http graphics stanford edu seander bithacks html CountBitsSetParallel 但我不知道 C 什么是
  • 熊猫记忆

    我有冗长的计算 我重复了很多次 因此 我想使用记忆 诸如jug http packages python org Jug and joblib http packages python org joblib memory html 与Pan
  • 如何检查包含 NaN 的列表 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 在我的 for 循环中 我的代码生成一个如下所示的列表 list 0 0 0 0 sum 0 0 0 0 该循环生成所有其他数字向量 但它也
  • 如何在python中递归复制目录并覆盖全部?

    我正在尝试复制 home myUser dir1 及其所有内容 及其内容等 home myuser dir2 在Python中 此外 我希望副本覆盖中的所有内容dir2 It looks like distutils dir util co
  • Python time.sleep - 永不醒来

    我认为这将是那些简单的问题之一 但它让我感到困惑 停止媒体 我是对的 找到了解决方案 查看答案 我正在使用 Python 的单元测试框架来测试多线程应用程序 很好而且很直接 我有 5 个左右的工作线程监视一个公共队列 以及一个为它们制作工作
  • 如何将reportlab与Google应用程序引擎一起使用

    我无法在谷歌应用程序引擎下正确导入reportlab 根据以下guide http blog notdot net 2010 04 Generating PDFs on App Engine Python and introducing M
  • PermanentTaskFailure:“模块”对象没有属性“迁移”

    我在 google appengine 上使用 Nick Johnson 的批量更新库 http blog notdot net 2010 03 Announcing a robust datastore bulk update utili
  • python csv按列转换为字典

    是否可以将 csv 文件中的数据读取到字典中 使得列的第一行是键 同一列的其余行构成列表的值 例如 我有一个 csv 文件 strings numbers colors string1 1 blue string2 2 red string
  • 在 python 查询参数中使用 %20 而不是 + 作为空格

    我使用 python requests 编写了以下 python 脚本 http requests readthedocs org en latest http requests readthedocs org en latest impo
  • SpaCy 中的自定义句子边界检测

    我正在尝试在 spaCy 中编写一个自定义句子分段器 它将整个文档作为单个句子返回 我编写了一个自定义管道组件 它使用以下代码来执行此操作here https github com explosion spaCy issues 1850 但
  • 获取运行云功能的运行时服务帐户

    有没有办法以编程方式从云功能获取运行时服务帐户的电子邮件 我知道我可以 猜测 默认的 App Engine 帐户 因为它始终是 appspot gserviceaccount com 但这不是我想要的 我本来期待有一些环境变量 https
  • 将数组从 .npy 文件读入 Fortran 90

    我使用 Python 以二维数组 例如 X 的形式生成一些初始数据 然后使用 Fortran 对它们进行一些计算 最初 当数组大小约为 10 000 x 10 000 时 np savetxt 在速度方面表现良好 但是一旦我开始增加数组的维
  • Python 中的迭代器 (iter()) 函数。 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 对于字典 我可以使用iter 用于迭代字典的键 y x 10 y 20 for val in iter y print val 当
  • 如何抑制 Pandas Future 警告?

    当我运行该程序时 Pandas 每次都会给出如下所示的 未来警告 D Python lib site packages pandas core frame py 3581 FutureWarning rename with inplace

随机推荐

  • Java Swing - 本地化温度

    有没有办法在Java中本地化温度 就像温度格式将基于区域设置 例如 对于挪威语 温度格式应为 14 C 度数符号之前应该有一个空格 但其他语言应该是14 C 以下示例演示了温度本地化 包括按区域设置特定属性对十进制值进行可自定义的舍入和格式
  • 覆盖 PHPDoc 中的返回类型

    我有课Abcwith 方法 正文并不重要 return SomeBaseClass function getAll 在幼儿班Abc called AbcChild我想重新定义仅返回类的类型 以便在 Netbeans 中正确查看它 我可以在不
  • JavaFX 3D 透视相机运动

    现在 感谢我的帮助先前的问题 https stackoverflow com questions 69249037 most simple rotate camera via mouse not working 以及来自用户 trashgo
  • mix.scripts 不起作用(webpack.mix.js)

    我有以下 webpack mix js const mix require laravel mix mix scripts resources assets js app js resources assets js definers js
  • 拉直弯曲轮廓

    给定一个具有易于识别边缘的轮廓 如何拉直它及其内容 如图所示 检测黑色边缘并为其拟合样条曲线 从该样条线上 您将能够绘制法线 并沿着它定期标记点 这形成了易于拉直的 u v 网格 要计算目标图像 请绘制水平行 这些行对应于源中的特定法线 然
  • 进入智能指针,如何处理代表所有权?

    我制作了一个动态图结构 其中节点和弧都是类 我的意思是弧是内存中的实际实例 它们并不是由节点到节点的邻接列表暗示的 每个节点都有一个指向它所连接的弧的指针列表 每个弧都有 2 个指针 指向它所连接的 2 个节点 删除节点会调用其每条弧的de
  • 绑定到127.0.0.2

    我在 Windows XP PC 上本地运行客户端 服务器应用程序 出于测试目的 我想运行多个客户端 服务器有一个配置文件 其中包含可以连接的客户端的IP地址 在现实世界中 这些都将位于具有不同 IP 地址的不同主机上 目前我可以使用绑定到
  • 如何使用自定义适配器对 listView 进行排序

    我正在制作一个应用程序 其中显示状态为在线和离线的人数 目前ListView是根据api设置的 我想根据人员的在线状态对 listView 进行排序 例如 如果没有 的人在线 然后列表视图首先显示他们 我在我的项目中实现了延迟加载图像 这是
  • 允许模拟类继承最终类

    我们可以使用 new C 关键字声明一个最终 密封的不可继承类final class Generator final 这个类可以从其他类继承 可以有也可以没有virtual 继承或不继承 但是 如何制作呢final 但允许一个类继承它 我们
  • div 内的垂直对齐范围[重复]

    这个问题在这里已经有答案了 http jsfiddle net UmHNL 2 http jsfiddle net UmHNL 2 div class container span Some text yay span div div cl
  • com.android.builder.testing.api.DeviceException:没有连接的设备!詹金斯错误

    我在 Windows 7 机器上安装了 Jenkins 2 73 1 没有从站 构建 Android 应用程序设置只有一项工作 我有connectedCheckgradle 任务作为作业构建过程的一部分执行 当我重新启动计算机并运行 Jen
  • 可拖动项目总是下降约 80px

    我对可拖动项目有奇怪的行为 每次我将它拖到我的堆栈上时 它都会从放置位置向下下降约 80px 这是一个近似值 也许对于另一部手机 它可能是其他值 x 值对我来说似乎没问题 这是代码 class GesturePage extends Sta
  • 如何在 DefaultRouter() 中进行反向操作

    我正在设置一个新的测试 并且我想进行相反的操作 router DefaultRouter router register profile views UserProfileViewSet base name profile urlpatte
  • 如何动态更改 Apollo Web Socket Link URI?

    目前我已经设置了 Apollo websocket 链接 如下所示 const wsLink new WebSocketLink uri ws example com graphql token getToken options recon
  • 如何将 Git 存储库从 Beanstalk 移至 Github?

    我的代码仓库在豆茎 http beanstalkapp com 如何将代码从 Beanstalk 移至Github https github com 建议的方法是 git clone bare url for beanstalk repo
  • R:如何从日期中删除当天? [复制]

    这个问题在这里已经有答案了 我在 df 列中有一堆日期 格式如下 dd mm yyyy 我希望它看起来像这样 01 2020 mm yyyy 如何从所有日期中删除这一天 Use format指定您想要的日期格式 date lt as Dat
  • 从多个 JavaScript 线程访问 IndexedDB

    概述 我试图避免从网页和网络工作人员访问 IndexedDB 时出现竞争情况 Setup 当用户使用站点时将项目保存到本地 IndexedDB 的网页 每当用户将数据保存到本地数据库时 记录就会被标记为 未发送 Web worker 后台线
  • 每当在树视图中添加新节点时创建事件处理程序

    我想编写一个自定义类 每当我向树视图添加一个节点时 它都应该调用一个事件 这样我就可以递归地运行它 我很少使用TreeView 但乍一看这是我的第一印象 由于无法继承 TreeViewCollection 因此您可能必须在新类上创建一个单独
  • 如何获得像Instagram一样1:1比例的Android Camera2?

    我的问题很简单 如何获得安卓系统android hardware Camera2像 Instagram 一样 1 1 比例且不变形 我用 GoogeSamples 项目进行了测试android Camera2Basic https gith
  • Mac OS X 虚拟环境中的 Python 安装是否包含一个可以包含到 Xcode 中的框架?

    我喜欢将 Python 与 numpy scipy 和其他一些包一起使用 我是一个绝对的 Python 初学者 在 Mac OS X 下安装时遇到一些问题 我按照这两个教程来安装 python 1 http hackercodex com