首页 > 其他分享 >conda use x86 for Mac M1

conda use x86 for Mac M1

时间:2022-10-19 18:12:18浏览次数:66  
标签:osx use esmf create x64 environment conda M1

在M1芯片的电脑上使用conda安装x64的库

背景提示

“众所周知,苹果新芯片采用的是ARM架构,在使用conda的时候会发现一些库仅支持x64的(接下来都以esmf为例),会下载不了(出现如下错误)。”
img

这种情况,可以先上 https://anaconda.org 查一下这个库支持的版本,再根据之前文章(https://www.cnblogs.com/dan-chen/p/15987085.html)提到过add channels的方法。但例子中的esmf没办法支持arm架构,只能借助rosetta转译
img

解决方法

接下来将介绍如何解决这个问题,以esmf为例:

CONDA_SUBDIR=osx-64 conda create -n <env_name> python=3.8
conda activate <env_name>
conda config --env --set subdir osx-64

完成之后,就可以在创建的环境里下载esmf啦
img

为了以后方便,还可以在~/.zshrc里添加以下脚本,之后用新的命令就直接可以创建x64的环境了。

### add this to ~/.zshrc (or ~/.bashrc if you're using Bash)
create_x64_conda_environment () {
  # create a conda environment using x86 architecture
  # first argument is environment name, all subsequent arguments will be passed to `conda create`
  # example usage: create_x64_conda_environment myenv_x64 python=3.9

  CONDA_SUBDIR=osx-64 conda create -n $@
  conda activate $1
  conda config --env --set subdir osx-64
}

注意: create_x64_conda_environment 就是自定义的命令,也可以改成自己容易记的。

以上内容搬运自 https://towardsdatascience.com/how-to-manage-conda-environments-on-an-apple-silicon-m1-mac-1e29cb3bad12 ,并在自己电脑上得到实践。在个人应用的时候尝试了2个版本,一是开启rosetta的terminal副本(如下图,右键 -> get info -> 选中open using rosetta),二是未设置的terminal,均可成功应用上述方法。
img

祝大家愉快conda!

标签:osx,use,esmf,create,x64,environment,conda,M1
From: https://www.cnblogs.com/dan-chen/p/16807269.html

相关文章

  • ClickHouse 使用Primary Key原因以及为什么与 Sorting Key 不同
    官方地址首先选择主键原因SelectingthePrimaryKey​Thenumberofcolumnsintheprimarykeyisnotexplicitlylimited.Dependingonthedatastructure,you......
  • Anaconda usage tips
    usage:conda[-h][-V]command...condaisatoolformanaginganddeployingapplications,environmentsandpackages.Options:positionalarguments:command......
  • React HOOK:useReducer 与 useState区别?(面试)
    useReducervsuseState(面试)useReducer和useState都可以用来管理组件的状态,它们之间最大的区别就是:useReducer将状态和状态的变化统一管理在reducer函数里面,这样对......
  • React HOOK:useRef
    useRefuseRef是用来在组件不同渲染之间共用一些数据的,它的作用和我们在类组件里面为this赋值是一样的。语法import{useRef}from"react"constrefObject=useRef(i......
  • mac 如何进入User 目录
    打开一个文件夹,点击顶部前往----点击个人https://baijiahao.baidu.com/s?id=1730595679451779285&wfr=spider&for=pc......
  • React Hook:useState
    Hook 是React16.8的新增特性。它可以让你在不编写class的情况下使用state以及其他的React特性。但是不要什么业务都使用hook,请在合适的时候使用hook,否则会造......
  • time of check to time of use 数据竞争 竟态检测 Race detection
    https://jyywiki.cn/OS/2022/slides/8.slides#/4/3“TOCTTOU”-timeofchecktotimeofuseTOCTTOUvulnerabilitiesinUNIX-stylefilesystems:Ananatomica......
  • Anaconda常用命令
    如何创建、激活、退出虚拟环境创建虚拟环境condacreate-nnev_name(环境名称)python=3.7(对应版本号)激活虚拟环境condaactivateenv_name(环境名称)退出虚拟环境......
  • mybatis_24_设置(settings)_useColumnLabel
    useColumnLabel使用列标签代替列名。实际表现依赖于数据库驱动,具体可参考数据库驱动的相关文档,或通过对比测试来观察。值:true(默认)/false<settings><settingn......
  • mybatis_25_设置(settings)_useGeneratedKeys
    useGeneratedKeys允许JDBC支持自动生成主键,需要数据库驱动支持。如果设置为true,将强制使用自动生成主键。尽管一些数据库驱动不支持此特性,但仍可正常工作。值:true/false(......