在M1 MacBook上运行Jupyter Notebook的指南

作为数据科学家或相关技术专业人士,可能已经购买了一台搭载M1芯片的MacBook。本文将尽力保持更新,最后更新日期为2023年4月1日。如果在尝试打开Jupyter Notebook时遇到内核崩溃,或者还没有成功运行Jupyter Notebook,那么这篇文章正是需要的。将从下载步骤开始,一直到拥有一个完全运行的Jupyter Notebook。(假设不确定电脑上是否已经安装了Jupyter。如果确定已经下载了Jupyter,可以跳到下一步。)

检查Python和Jupyter是否已安装

步骤1:打开终端。可以通过按住Command键并按空格键来调出Spotlight搜索,然后输入“Terminal”并按回车键。

步骤2:在终端中输入jupyter notebook并按回车键。如果终端显示类似于下面的图片,并且浏览器中打开了Jupyter界面,那么Jupyter已经安装好了。(即使出现内核错误也没关系,稍后会解决!)跳到步骤6。

如果终端显示“command not found: jupyter”,那么需要先检查Python是否已经安装。转到步骤3。

检查Python是否已安装

步骤3:在终端中输入python3并按回车键。如果终端显示类似于“Python 3.X.Y”的信息,底部有“>>>”符号,那么很好!这意味着Python 3已经安装。输入quit()退出。跳到步骤5。

如果出现“command not found: python3”错误,这意味着需要安装Python。新的Mac操作系统应该已经预装了Python,所以如果遇到错误,请确保没有拼写错误。转到步骤4。

安装Python

步骤4:可以通过访问XCode命令行工具来安装Python。需要登录Apple ID并按照指示操作。请注意,常规的Anaconda下载在此不适用,因为M1芯片不是64位的。完成后,返回步骤3。

安装Jupyter

步骤5:如果已经安装了Python但遇到安装Jupyter的问题,那么在终端中输入pip3 install jupyter。如果这不奏效,那么请访问相关链接并按照指示操作。

修复Jupyter内核问题

此时,Python和Jupyter应该已经安装好了。希望阻止内核反复崩溃。

步骤6:在终端中输入jupyter notebook并按回车键。然后点击“New”(在右侧)并打开一个Python 3笔记本。

如果能够在笔记本中运行命令——太好了!教程结束了。跳到底部,了解有关TensorFlow的注意事项(如果关心TensorFlow)。或者,可以查看其他文章,主要是关于计算机视觉的。

解决Jupyter内核停止的解决方案

步骤7:感谢这个链接和用户burakozdamar公开George Hotz的YouTube视频,学到了一种解决方法,可以阻止Jupyter笔记本内核停止。

需要使用终端和/或Finder来找到系统路径,该路径以ipykernel/eventloops.py结尾。(在系统上,它是lib/python3.8/site-packages/ipykernel/eventloops.py,但可能会略有不同。重要的是要找到eventloops.py文件。)将对此文件进行一次更改。

打开终端。输入nano filepath/ipykernel/eventloops.py,其中filepath应该是带到特定eventloops.pyipykernel文件夹中的特定路径。按回车键。应该看到以下内容:

文本编辑器视图的eventloops.py。使用箭头键导航到def _use_appnope(),这是截图底部的第一个函数。要编辑的是return行。

在该return行上,使用箭头键导航到该行的最右侧。在V('10.9')之后,将添加:and platform.mac_ver()[2] != 'arm64'。完成后,整行应该如下所示:

一旦完成了编辑并确保没有拼写错误,那么按住Control并按x退出。它会询问是否保存。按y。然后按回车键。

承认:这个过程非常“照说的做,不要问任何问题”。如果想了解得更多,George Hotz在他的视频中非常出色地描述了调试过程;可以跳转到他进行更改的地方(大约47分钟30秒)在这里。

请注意,George还编辑了docstring(三引号之间的文本),以更好地反映函数的作用——检查Apple Silicon。

完成设置

步骤8:如果按照上述步骤操作,应该已经可以了。通常会退出终端(按住Command键并按Q),因为认为有时更新不会立即生效,除非重启终端。确保它通过返回步骤6并在Jupyter笔记本中编写命令来工作。

现在应该已经设置好了。

感谢跟随。希望这对有帮助。如果发现任何错误或需要更新,请告诉(使用屏幕左侧的电子邮件按钮)——想尽可能地帮助人们,而新技术往往变化得非常快。

如果下一步是使用OpenCV,请按照指南安全地安装OpenCV与M1。

想在M1上使用TensorFlow?如果目标是安装TensorFlow,它在M1上还没有官方支持。然而,可以按照这里的指示创建一个虚拟环境。请注意,虽然某些TensorFlow功能有变通方法,但其他功能如object_detection尚未支持。如果了解到变通方法,请通过电子邮件告诉。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485