我是靠谱客的博主 美满香氛,最近开发中收集的这篇文章主要介绍MacBook m1pro在conda环境关于架构出现过的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

回想一下十月份的时候刚拿到电脑做了点啥。

刚开始没有进行转换架构的虚拟环境的设置,导致好像是安装pyqt5?一直失败。

总之查了半天 最后指向似乎是架构问题

然后利用https://www.bilibili.com/read/cv13742031/

(也可以看看这个conda use x86 for Mac M1 - 点击领取)

进行了x86虚拟环境的设置

CONDA_SUBDIR=osx-64 conda create -n rosetta python
#创建了一个基于x86_64的虚拟环境 里面的python也是x86的
conda activate rosetta
python -c "import platform;print(platform.machine())"  # 应输出“x86_64”
# make sure that conda commands in this environment use intel packages
conda env config vars set CONDA_SUBDIR=osx-64
conda deactivate      # 需要reactivate该虚拟环境,以使设置生效
conda activate rosetta
echo "CONDA_SUBDIR: $CONDA_SUBDIR"  
#查看环境变量,确定是osx-64,支持intel包 应输出“CONDA_SUBDIR: osx-64”
#arm架构就是CONDA_SUBDIR: osx-arm64

经过以上设置,在base环境下为原生Python,在rosetta环境下为转译的Python

(我自己环境叫rfpy 自己不写这句怕将来会忘)

然后因为没有安装rosetta2 又安装了一遍这个

How to Install Rosetta 2 on Apple Silicon Macs

我似乎是终端输入

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

【亲测这段讲基于M1pro芯片 创建维持arm架构的虚拟环境的操作没用 实际上他默认就是苹果的架构 以及后续的包 肯定也是装默认arm架构的 根本无需设置这两句代码 设置了反而会提醒 warning重复的环境变量。 但是别人这么写的 先记下了吧 】

如果想维持苹果的芯片架构

CONDA_SUBDIR=osx-arm64 conda create -n env -c conda-forge

会给你一个osx-arm64本地环境。然后设置以下,否则将来的安装将恢复到 osx_64。

conda env config vars set CONDA_SUBDIR=osx-arm64

其他tips:

以下可以查看当前环境的python是intel还是arm 

import platform
platform.machine() ##'arm64'or'x86_64' 查看当前python

通过执行以下也可以对环境变量进行操作 

conda env config vars list
##conda env config vars list -n base 指定了查看一个环境里的环境变量
#如果是最简单啥也没操作的环境 应该返回空 啥也木有
#当报错WARNING: overwriting environment variables set in the machine可以执行
conda env config vars unset CONDA_SUBDIR
#从特定环境中删除环境变量
#conda env config vars unset
CONDA_SUBDIR -n base

最后

以上就是美满香氛为你收集整理的MacBook m1pro在conda环境关于架构出现过的问题的全部内容,希望文章能够帮你解决MacBook m1pro在conda环境关于架构出现过的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部