ipad可以使用python编程吗,ipad可以用来学python
其实不光是iPad,手机也是。
痛点
我组织过几次在线编程研讨会,带着同学用Python处理数据科学问题。
最头疼的一个问题是运行环境的安装。
其实我在参加研讨会之前就做了认真的准备。
例如,在集成环境中,选择了用户友好的Anaconda。
代码在我的Macbook电脑上运行,但是没有问题。即使你让它在学生的Windows 7上运行,也没有问题。这是上传到Github的。
发布的教程文章还详细介绍了软件包的安装。
我们还录制了名为Anaconda的Python运行时环境的安装和运行视频。
然而,在研讨会现场遇到的问题仍然五花八门。
和操作系统。比如你可能用Windows 10。说实话,我真的没用过。即使你仔细看表面,你也找不到安装的Anaconda文件夹。
还有密码。在某些操作系统中,默认的中文代码可能是UTF 8或GBK。和中文文本一样。这里一切正常,但是你那里乱码。
和工具包路径。在参加研讨会之前,您可能已经阅读了我的几个教程,并且安装了Python版anaconda。来到现场,一看到需要Python 3.6的版本,就安装新的。因此,您不知道Python和pip命令是从哪个包运行的,也不知道这些包安装在哪里。除了虚拟环境的构成,你还会烦躁。
还有网络拥塞的问题。有时需要现场安装调用庞大的软件包,几十台电脑“备用3354”争夺有限的Wifi带宽。结果可想而知。
痛定思痛,我决定改变现状。
当前教程只提供基本源代码。对于很多初学者来说,这是不够的。
很多同学在安装依赖包的路上摔倒了,干脆放弃了。
有许多方法可以解决这个问题。例如,为用户录制代码并运行视频。
但是,正如《MOOC教学,什么最重要?》的文章所说,反馈是学习过程中最重要的事情。
你需要运行代码并在第一时间得到结果的反馈。
在此基础上,你还必须能够修改代码,比较执行前后结果的差异。
必须给你提供一个可以直接执行的环境。
安装后,上述烦恼自然会消失。
这可能吗?
我研究过。没事的。
你的设备可以有一个现代化的浏览器(包括但不限于谷歌chrome、火狐、Safari、微软Edge等。).
IE 8.0?
那不行,直接升级!
读到这里,你应该想明白了。因为只选择了浏览器,没有选择操作系统,不言而喻,Windows 10也可以使用iPad执行代码。
尝试
请打开浏览器,输入此链接(http://t.cn/R35fElv)。
看看会发生什么?
在这里用iPad演示一下。
首先会出现启动界面。请等十秒钟。
然后,你会看到你熟悉的Python代码执行界面。
这个接口是Jupyter实验室的。
这可以理解为Jupyter笔记本的扩展版。这有以下特点。
代码直接用鼠标拖动;
您可以打开多个笔记本并使用不同内核浏览器标签。
Markdown编辑器提供实时渲染;
完整的文件浏览器;
快速浏览CSV数据文件
……
图左侧的列显示了工作目录中的所有文件。
右边是我们想要使用的ipynb文件。
为了证明这不是开玩笑,单击右边代码上方工具栏上的Run按钮。
单击以查看当前代码单元的结果。
点击后,你会看到结果已经成功渲染。
图像也正常显示。
即使是下面这些需要一定计算量的可视化结果也没问题。
为了证明这不是魔术,你可以在一个新的单元格中写一行output语句。
让Python输出你的名字。
如果你叫我查克,就这样写:
打印(「你好,查克!")
换成自己的名字,看看输出结果是否正确?
其实不就是iPad吗?
如果你够勇敢的话,一部手机是可以的。
事情是这样的。
过程
我来解释一下这种效果是如何产生的。
我们需要使用一个叫做mybinder的工具。这有助于将github上的代码库(repo)快速转换为可执行环境。
请注意,mybinder为我们提供了云设施——计算和存储资源。所以,即使很多用户同时在线使用同一个转码环境,也不会产生冲突。
首先,让我们看看如何为mybinde准备一些可用的东西。
成功转换的r代码仓库。
我给你提供的样本在这里(http://t.cn/R35MEqk):
对了,这个样本来自我的数据科学系列教程《如何用Python处理自然语言?(Spacy与Word Embedding)》。感兴趣的同学可以点击链接查看原文。
在这个GitHub页面显示的文件列表中,您需要注意以下3个文件:
demo.ipynb
environment.yml
后期构建
Demo.ipynb是Jupyter笔记本文件,包含您在上一节中看到的源代码。首先,您需要在本地安装相关软件包,并运行测试才能通过。
如果你的本地操作出现错误,如果放在云端,就很难正常运行。
environment.yml文件非常重要。它告诉mybinder如何为代码运行准备环境。
让我们打开它,看看这个文件的内容:
依赖项:-python=3-pip:-spacy-ipykernel-scipy-numpy-scikit-learn-matplotlib-pandas-thinc
这个文件首先告诉我的binder,你的Python版本。我们用的是3.6版。所以你只需要指定python=3。Mybinder会自动为您下载并安装最新版本。
然后这个文件解释了哪些包需要使用pip工具来安装。我们需要列出所有相关的安装包。
以上是我之前在教程里一直给你讲解的准备步骤。
但这还不是全部,因为mybinder刚刚给你安装了一些软件依赖。
这里还有两个步骤需要处理:
为了分析语义,我们需要调用预先训练好的Word2vec模型,这个模型需要mybinder提前为我们下载。
打开Jupyter笔记本后,应该使用的内核名称是王菽一。这个内核还没有在Jupyter中注册。我们需要我的活页夹来帮我们做。
为了完成以上两个步骤,您需要准备最后一个postBuild文件。
其内容如下:
python -m spacy下载en python -m spacy下载en _ core _ web _ LG python-m ipykernel install-user-name=王菽一
和它的名字一样。是mybinder根据environment.yml安装完依赖项build后依次执行的命令,如果你的代码需要其他命令提供环境支持,也可以放在这里。
至此,你的准备工作完成了。
魔术表演正式开始。
请打开mybinder的网站(https://mybinder.org/)。
在“github repo或URL”一栏中,填写我们的github代码库的链接,即:
https://github.com/wshuyi/demo-spacy-text-processing
我们想一进入界面就自动打开demo.ipynb,所以需要在“笔记本文件路径(可选)”一栏填写demo.ipynb。
此时,您会在“复制下面的URL并与他人共享您的活页夹:”一栏中找到您的代码运行环境的URL。
https://my binder . org/v2/GH/wshuyi/demo-spacy-text-processing/master?filepath=demo.ipynb
单击右边的“复制”按钮,将其保存在记事本中。以后找到你转换后的操作环境就靠它了。
正确保存地址后,点击“启动”按钮。
根据相关安装包的数量和其他因素,您需要等待的时间会有所不同。但是第一次搭建只需要一些时间。
以后每次执行调用,都会很快。
构建完成后,mybinder会自动为我们打开相应的运行环境。
很有成就感!
经过测试,我们可以正常运行代码,这证明了我们的成功。
但是你会发现,不!
老师,你刚才用iPad展示的,不就是Jupyter实验室的高级版吗?怎么又变成Jupyter笔记本了?
我也想要高级版!
别担心。
看看您当前的链接地址:
https://my binder . org/v2/GH/wshuyi/demo-spacy-text-processing/master?filepath=demo.ipynb
您只需要做一点小小的调整,包括:
?文件路径=
替换为:
?urlpath=lab/tree/
被替换的链接是:
https://my binder . org/v2/GH/wshuyi/demo-spacy-text-processing/master?urlpath=lab/tree/demo.ipynb
将它输入浏览器并查看结果:
这样可以吗?
原则
你觉得我的binder很黑科技吗?
其实不是的。
它只是将现有的几项技术联系起来。
这大概就是“积木创新”的一个例子。
让我们来看看mybinder的说明:
如你所见,最关键的技术是docker的使用。
Docker是什么?
简单来说,Docker是一个保障工具,可以在不同的平台上成功执行相同的代码。
你犹豫不决。这不是Java吗?
没错,Java的口号就是一次编码,随处运行。
它使用虚拟机来确保这种能力。
但是,如果你经常使用Java开发的工具,你应该知道痛点是什么。
最起码你要对Java程序的运行速度有所体会。
上图中,虚拟机在左边,Docker在右边。
Docker不仅比Java虚拟机效率高,而且支持多种编程语言。
至于其他好处,我们就不展开了。否则听起来像广告。
实际上,将github代码库转换成docker映像的工作并不是mybinder自己完成的。
它调用的是另一个工具,叫做Repo 2 Docker(https://github . com/jupyter/Repo 2 Docker)。
而且你的浏览器可以执行Python代码,因为Jupyter Notebook(或Lab)本来就是建立在“浏览器/服务器”(B/S)结构上的。
如果您已经在本地计算机上安装了Anaconda,那么请看一下在本地执行这条语句的情况:
朱庇特实验室
会发生什么?
是的,它启动一个服务器,然后打开你的浏览器与这个服务器通信。
Jupyter本身的这种设计使得它的扩展极其方便。
无论Jupyter服务器是运行在你本地的笔记本上,还是运行在另一个大洲的机房里,对你来说执行Python代码都没有本质的区别。
另外,如果你认为mybinder只能让你在浏览器上运行Python代码,那你就低估了它。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。