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

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

Apple Developer Metal

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

 

1. 下载安装miniforge3

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

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

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

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

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-macos
python -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同意一直等下载完毕。

 

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

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

 到这里tensorflow可以运行被识别

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

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

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

现在把此环境导入到我们单独下载的spyder中,我们可以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路径下找不到的虚拟环境:

当我们打开终端,一般默认出现的是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解决环境配置提高方案。

配置 Spyder(Scientific Python Development Environment)以切换Python 7 并导入 data 包,需要注意的是,Python 7 实际上并不存在,因为 Python 的最新稳定版本目前是 3.x。如果你是指将 SpyderPython 3.7 或更高版本结合,这里是一些步骤: 1. **更新 Spyder**: 确保你已安装最新的 Spyder 版本,因为它通常包含了对多种 Python 版本的支持。如果需要更新,可以打开命令行或终端,然后输入 `pip install --upgrade spyder`。 2. **创建虚拟环境**: 如果你想在同一台机器上运行多个 Python 版本,可以使用 virtualenv 或 conda 创建一个独立的环境。例如,你可以创建一个名为 `env_python7` 的新环境: ``` python -m venv env_python7 source env_python7/bin/activate # Linux/Mac env_python7\Scripts\activate # Windows ``` 3. **激活虚拟环境**: 激活新的虚拟环境后,你的系统将会使用这个环境下的 Python(通常是 3.7+)。 4. **安装 data 包**: 在虚拟环境中,通过命令行或 Spyder 的终端插件,输入 `pip install data_package_name` 来安装你需要的数据包,替换 `data_package_name` 为你的数据包的实际名称。 5. **配置 Spyder**: 打开 Spyder 后,点击左下角的 "Python Interpreter" 标签,选择 "New...",然后选择你刚才激活的虚拟环境。现在 Spyder 就会使用该环境的 Python 进行编程。 6. **导入 data 包**: 在 Spyder 中新建一个 Python 文件,或者打开现有的文件,在顶部使用 `import data` 命令导入你的数据包。如果有错误,检查是否已经成功安装,或确认包名无误。 请注意,由于 Python 7 并未发布,上述步骤可能会有所变化。如果你指的是某个特定的 Python 3.7 版本,只需按上述步骤替换相关版本号即可。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值