关于 Arm 处理器上的 conda 发行版/通道的混乱

2024-02-09

我已经使用 Anaconda 几年了,但自从我开始使用带有 M1 处理器的 Mac 以来,我不得不处理一些软件包安装的一系列问题,这让我对一些基本概念有点困惑。

例如,我试图安装 Tensorflow,结果发现正确的方法是安装 miniforge,并从 conda-forge 通道(这是 miniforge 的默认通道)获取 Tensorflow,如下所示here https://developer.apple.com/metal/tensorflow-plugin/。 然后,我想知道是否可以使用 Anaconda/Miniconda 执行相同操作...将 conda-forge 通道设置为默认值,并安装 Tensorflow(或任何其他与 arm 兼容的软件包),但是有人告诉我这是不可能的 https://stackoverflow.com/questions/71018491/using-conda-forge-as-default-channel-with-anaconda-to-install-packages-on-mac-pr

所以,现在我试图了解这一切是如何运作的。 如果 conda-forge 通道中存在与 M1 处理器兼容的 Tensorflow 版本(并且确实存在),为什么在将其配置为使用该通道后无法使用 Anaconda/Miniconda 安装它?换句话说,Anaconda/Miniconda 和 Miniforge 之间有什么区别,除了它们寻找软件包的渠道(以及据我所知,还有一些许可证)?

Here https://stackoverflow.com/questions/60532678/what-is-the-difference-between-miniconda-and-miniforge有一个类似的问题,但答案似乎没有解决我主要关心的问题(为什么以 conda-forge 作为默认通道的 Anaconda/Miniconda 与 miniforge 不同)。


这并非不可能,但你必须克服重重困难才能完成它。 首先,如果您安装了 Anaconda,则无法将 conda-forge 包一致地安装到基础环境中,因为anacondaAnaconda 基础环境中的包会与 conda-forge 中的包冲突。 其次,由于 Anaconda 目前只有 x86_64,因此您只能通过 Rossetta 仿真来安装它。之后,您需要通过设置环境变量 CONDA_SUBDIR 告诉 conda 您需要 arm64 兼容的软件包。

CONDA_SUBDIR=osx-arm64 conda create -n native numpy -c conda-forge

将为您提供一个带有本机 arm64 软件包的新环境。但是,如果您想更新此环境,则必须在所有 conda 命令前加上前缀CONDA_SUBDIR=osx-arm64.

要永久修复此问题,您可以执行以下操作

conda activate native
conda config --env --set subdir osx-arm64

这将使 conda 使用osx-arm64对于这个环境。

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

关于 Arm 处理器上的 conda 发行版/通道的混乱 的相关文章

  • 通过列表理解压平列表列表

    我正在尝试使用 python 中的列表理解来展平列表 我的清单有点像 1 2 3 4 5 6 7 8 只是为了打印这个列表列表中的单个项目 我编写了这个函数 def flat listoflist for item in listoflis
  • 将数据帧行转换为字典

    我有像下面的示例数据这样的数据帧 我正在尝试将数据帧中的一行转换为类似于下面所需输出的字典 但是当我使用 to dict 时 我得到了索引和列值 有谁知道如何将行转换为像所需输出那样的字典 任何提示都非常感激 Sample data pri
  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 为什么在 Python 2.4 中使用 Unicode 数据会出现 ASCII 编码错误,而在 2.7 中却不会?

    我有一个程序 当在 Python 2 7 中运行时 会生成正确的 Unicode 输出到标准输出 当在 Python 2 4 中运行时 我得到UnicodeEncodeError ascii codec can t encode chara
  • python suds SOAP 请求中的名称空间前缀错误

    我使用 python suds 来实现客户端 并且在发送的 SOAP 标头中得到了错误的命名空间前缀 用于定义由element ref 在 wsdl 中 wsdl 正在引用数据类型 xsd 文件 请参见下文 问题出在函数上GetRecord
  • 如何通过在 Python 3.x 上按键来启动和中断循环

    我有这段代码 当按下 P 键时会中断循环 但除非我按下非 P 键 否则循环不会工作 def main openGame while True purchase imageGrab if a sum gt 1200 fleaButton ti
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • 如何在 python 中没有 csv.reader 迭代器的情况下解析单行 csv 字符串?

    我有一个 CSV 文件 需要重新排列和重新编码 我想跑 line line decode windows 1250 encode utf 8 在由 CSV 读取器解析和分割之前的每一行 或者我想自己迭代行 运行重新编码 并仅使用单行解析表单
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • 使用yield 进行字典理解

    作为一个人为的例子 myset set a b c d mydict item yield join item s for item in myset and list mydict gives as cs bs ds a None b N
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 使用 PyTorch 分布式 NCCL 连接失败

    我正在尝试使用 torch distributed 将 PyTorch 张量从一台机器发送到另一台机器 dist init process group 函数正常工作 但是 dist broadcast 函数中出现连接失败 这是我在节点 0
  • 如何为每个屏幕添加自己的 .py 和 .kv 文件?

    我想为每个屏幕都有一个单独的 py 和 kv 文件 应通过 main py main kv 中的 ScreenManager 选择屏幕 设计应从文件 screen X kv 加载 类等应从文件 screen X py 加载 Screens
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f
  • 您可以使用关键字参数而不提供默认值吗?

    我习惯于在 Python 中使用这样的函数 方法定义 def my function arg1 None arg2 default do stuff here 如果我不供应arg1 or arg2 那么默认值None or default

随机推荐

  • React-Native 最低 Android API 级别

    我正在对react native和android进行一些研究 有谁知道android的最低api级别react native支持吗 我搜索了他们的文档页面 但找不到它 支持的操作系统 gt Android 4 1 API 16 和 gt i
  • DiffUtil.Callback 未按预期工作

    我正在使用 DiffUtil ItemCallback 和 ListAdapter 来更新 RecyclerView 它运行得很好 但它的行为有些让我困扰 根据文档 areContentsTheSame仅当以下情况时才应该调用方法areIt
  • `ValueError: 太多值无法用 `scipy.stats.linregress` 解包(预期为 4)`

    我知道这个错误消息 ValueError too many values to unpack expected 4 当设置的变量数量多于函数返回的值时 就会出现 scipy stats linregress根据 scipy 文档返回 5 个
  • 在哪里可以学习对数? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我在编程环境中经常听到对数的提及 它们似乎可以解决许多问题 但我似乎无法找到使用它们的现实方法 我读过
  • Twilio IBM Watson Speech To Text Addon 回调功能未触发

    我的目标是使用 Twilio 平台上提供的 IBM Watson Speech to Text Addon Twilio 附加功能 进行转录 呼叫者的输入 IVR 对话 IBM Watson 语音转文本插件已安装 Problem 回调 UR
  • 在Java中,如何更有效地追加字符串? [复制]

    这个问题在这里已经有答案了 我写了一个Java程序 我需要在其中附加一个字符串 u13a2 到现有的 u1234 u12de u1386 u15a3 渐渐地 绳子变得越来越长 我发现每次追加所花费的时间也变得越来越长 有什么办法可以在一定程
  • Pylint 函数名称无效

    我正在使用 Python 3 6 2 运行 Pylint 1 7 2 Pylint 显示以下错误 Invalid function name create maximization option dataframe invalid name
  • jQuery 悬停在表格上的效果

    我是 jQuery 新手 我想在我的桌子上制作悬停效果 但我不知道如何做 我只想将文本设为红色 然后在焦点丢失时如何再次删除红色 这是我到目前为止所拥有的 table border 1 tr th ID th th name th tr t
  • 使用四元数的设备方向

    我编写了一个 JS SDK 来监听移动设备旋转 提供 3 个输入 角度范围为 0 到 360 度 180 到 180 度之间的角度 90 到 90 度之间的角度 设备轮换的文档 https www sitepoint com using d
  • 拖放数据时清除输入字段

    我编写了一个函数 当用户将注意力集中在输入字段上时 该函数会自动清除输入字段的预设值 如果用户没有输入任何值 则将其恢复为模糊状态 所以的价值
  • 触摸浏览器中的元素(如指针事件:无)

    问题 我搜索了又搜索 但找不到有关如何通过覆盖元素触发触摸事件的信息 我通过使用以下方法解决了鼠标单击事件的问题 pointer events none 这很简单 但它不适用于触摸事件 我知道有一些移动原生的东西可以解决这个问题 但这纯粹是
  • 如何使用 Entity Framework 4.1 将连接字符串传递给数据库优先 DBContext 的构造函数?

    由于各种原因我想not将我的实体框架数据库模型的连接字符串存储在各种 config 文件之一中 我将最新最好的 DBContext API 与新的实体框架版本 4 1 NET 4 和 Visual Studio 2010 C 结合使用 但是
  • 为什么重写的函数首先被调用?

    我执行了以下程序 我对得到的输出感到好奇 其中函数输出首先被打印 即使它是我尝试首先打印的变量 class Baap public int h 4 public int getH System out println Baap h retu
  • 生产环境中无法解释的 SQL 错误 - 可能与网络相关

    我正在做一些相当密集的数据库工作 最终将很多很多记录插入到数据库中 为了尽量减少上下文膨胀 我一次执行 100 个插入 处理上下文 然后重新创建上下文 我收到一些我不明白的奇怪错误 这些错误仅发生在我们的生产服务器上 但在开发服务器上一切正
  • iOS 9 CollectionView 速度变慢

    我一直在为 iOS8 开发我的应用程序 并且在滚动速度方面还没有遇到任何问题 当我升级到 iOS9 时 collectionView 变得非常不稳定和令人震惊 我无法指出任何具体原因 在我的集合视图中 我的项目包含使用第 3 方库 SDWe
  • 如何检测 WiFi 网络共享状态

    我想知道如何检测 WiFi 网络共享的状态 我看过一篇文章 Android 2 3 wifi热点API https stackoverflow com questions 7048922 android 2 3 wifi hotspot a
  • 检查字符串是否在 python 中的 2 GB 字符串列表中

    我有一个大文件 A txt 2 GB 包含字符串列表 Question Q1 Q2 Q3 Ans1 Format links 现在我有另一个更大的文件 1TB 其中第二个位置包含上述字符串 Output a Question b The q
  • Java 8 流 - 对象的总和

    假设我有一个实现以下接口的对象列表 public interface Summable
  • Pytorch 张量索引:如何通过包含索引的张量收集行

    我有张量 ids 形状 7000 1 包含索引 例如 1 0 2 x 形状 7000 3 255 ids张量编码粗体标记维度的索引x应该选择哪个 我想将选定的切片收集到结果向量中 result 形状 7000 255 背景 我对这 3 个元
  • 关于 Arm 处理器上的 conda 发行版/通道的混乱

    我已经使用 Anaconda 几年了 但自从我开始使用带有 M1 处理器的 Mac 以来 我不得不处理一些软件包安装的一系列问题 这让我对一些基本概念有点困惑 例如 我试图安装 Tensorflow 结果发现正确的方法是安装 minifor