概述
回想一下十月份的时候刚拿到电脑做了点啥。
刚开始没有进行转换架构的虚拟环境的设置,导致好像是安装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环境关于架构出现过的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复