Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

M1芯片基于Arm64架构下搭载tensorflow,现阶段只能参考苹果官方给出的意见,详情链接如下

Apple Developer Metal

Mac搭载的系统应当升级至最新版才可更容易安装,现在最新的是Monterey 12版本。

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder
  1. 下载安装miniforge3

首先下载Macos_arm64_miniforge3,保存文件,记住下载位置,然后在终端中依次输入下列命令:

hmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh

sh ~/Downloads/Miniforge3-MacOSX-arm64.shsource ~/miniforge3/bin/activate

请选择默认安装路径,安装在用户路径下,如图所示:

[En]

Please select the default installation path, which should be installed under the user path as shown in the figure:

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

2. 安装tensorflow

新建一个新的环境,注意,经过上述步骤的source ~/miniforge3/bin/activate命令后, 当前终端terminal工作的路径已经是在miniforge3文件下,环境不再是conda路径下的base环境,所以新建的环境也是在miniforge3文件夹内,下文还会介绍如何从annaconda的环境切换到minforge3下的环境。这样使用的时候才不会混乱, 虚拟环境在哪个文件夹里就切换到哪个文件夹

conda create -n py38 python==3.8 #新建基于python3.8的环境conda create -n py39 python==3.9 #新建基于python3.9的环境

创建后请激活环境如下:

conda activate 环境名

接下来需要安装tensorflow-dependence、tensorflow-macos、tensorflow-metal,一般当前新建的环境中是没有什么包的,没有什么冲突,所以可以直接在终端输入命令安装,tensorflow 在m1中python3.8和3.9可装2.5和2.6:

conda install -c apple tensorflow-deps==2.6.0

python -m pip install tensorflow-macospython -m pip install tensorflow-metal

一般来说,终端会开始很顺利地安装,但是在新建的环境中,conda的环境配置包少,在新环境中安装包的时候会遇到Solving environment: failed with initial frozen solve. Retrying with flexible solve的问题,这个时候请在 当前环境目录下执行如下代码,更新conda:

conda update –prefix /Users/wuyicheng/opt/anaconda3
anaconda

上述代码的路径对应于当下annaconda安装的路径,请修改并在新环境下输入运行,这个时候系统会在新环境中下载非常多的包,慢慢等候, 这一步是很有必要的!如下输入y同意一直等下载完毕。

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

注意! 更新完上述conda一定要再进行一次命令conda update –all,这样可以解决后续很多包出现环境初始化故障,用conda install命令安装不上的问题。

那么 如果没有安装报错,现在tensorflow其实已经安装成功了,如下pip list显示结果:

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

到这里tensorflow可以运行被识别

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

3. miniforge3安装虚拟环境配置到单独下载的Spyder

上述步骤完成后,就可以把环境运用到pycharm中了,pycharm环境配置样式如下,前面的地址默认部分基本是一样的,按照自己的mac系统来输入:

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

请一定要把 python.3.9这个执行文件点击选上,否则一个文件夹选上没有用。

现在把此环境导入到我们单独下载的spyder中,我们可以spyder的系统偏好设置编译器的位置,

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

同理, 这个路径最后文件夹里的python3.9的执行文件一定要点击上,否则配置不成功!

现在配置完环境后,spyder一般还是会报错,因为这个时候我们新安装的环境里是 没有spyder-kernel这个包来支持spyder的,这个时候请按照控制台的提示安装特定版本的spyder-kernel

conda install spyder-kernel==提示版本

有的时候这里会出现上述我们提到的下载环境初始化故障的问题,Solving environment: failed with initial frozen solve. Retrying with flexible solve,那就按照上面的命令步骤将conda更新就可以了。下载完毕spyder-kernel后,spyder就可以直接调用我们在miniforge3创建的新环境。如下这个图,不同路径下有不同的虚拟环境,miniforge3中就有我们创建一般被隐藏在annaconda路径下找不到的虚拟环境:

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

当我们打开终端,一般默认出现的是 conda路径下的base环境,这个时候如果用conda info –envs命令检查环境名,miniforge3路径下的虚拟环境我们是什么也看不到的, 这个时候必须要从conda的基本环境切换路径到miniforge3:

source ~/miniforge3/bin/activate

上述命令执行后,切换至miniforge3中的base路径,如上图所示,这个时候我们再使用命令:

conda info –envs

conda activate miniforge3中虚拟环境名字

发现就可以进入miniforge3的环境下,能够被conda info –envs命令搜寻到,进而也可以实现我们对所创建的虚拟环境的调用。其实mac单独使用spyder,尤其要调用miniforge3里的环境,会逐步有很多麻烦,笔者使用annconda中的程序无法打开spyder会报错,所以选择单独下载spyder,环境配置问题基本上在本文中得到解决。

上述方法可以针对annaconda打不开spyder情况下,不使用conda的base环境直接使用miniforge3中的虚拟环境,在mac m1架构不兼容大多程序下使用tensorflow, 也进而为打开annaconda报错无法使用spyder,单独下载spyder解决环境配置提高方案。

Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

Original: https://blog.csdn.net/wuicer/article/details/125872711
Author: wuicer
Title: Mac M1配置tensorflow以及切换虚拟环境导入至Spyder

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/511208/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球