中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用iPad運行Python代碼

發布時間:2021-10-26 17:37:24 來源:億速云 閱讀:211 作者:柒染 欄目:編程語言

這篇文章給大家介紹如何用iPad運行Python代碼,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。其實,不只是iPad,手機也可以。

痛點

我組織過幾次線下編程工作坊,帶著同學們用Python處理數據科學問題。

其中最讓人頭疼的,就是運行環境的安裝。

實事求是地講,參加工作坊之前,我已經做了認真準備。

例如集成環境,選用了對用戶很友好的Anaconda。

代碼在我的Macbook電腦上跑,沒有問題。還拿到學生的Windows 7上跑,也沒有問題。這才上傳到了Github。

在發布的教程文章里,我也已經把安裝軟件包的說明寫得非常詳細。

如何用iPad運行Python代碼

還針對 Anaconda 這一 Python 運行環境的安裝和運行,專門錄制了視頻。

如何用iPad運行Python代碼

但是,工作坊現場遇見的問題,依然五花八門。

有的是操作系統。例如你可能用Windows 10。實話實說,我確實沒用過。拿著Surface端詳,連安裝后的Anaconda文件夾都找不到在哪兒。

有的是編碼。不同操作系統,有的默認中文編碼是UTF-8,有的是GBK。同樣一段中文文本,我這里顯示一切正常,你那里就是亂碼。

有的是套件路徑。來參加工作坊前,你可能看過我一些教程,并安裝了 Python 2.7 版本 Anaconda。來到現場,一看需要 Python 3.6  版本,你就又安裝了一份新的。結果執行起來,你根本分不清運行的 Python, pip  命令來自哪一個套件,更搞不清楚軟件包究竟安裝到哪里去了。再加上虛擬環境配置,你就要抓狂了。

還有的,甚至是網絡擁塞問題。因為有時需要現場安裝調用體積龐大的軟件包,幾十臺電腦“預備——齊”一起爭搶有限的Wifi帶寬,后果可想而知。

痛定思痛,我決定改變一下現狀。

目前的教程只提供基礎源代碼。對于許多新手同學來說,是不夠的。

許多同學,就倒在了安裝依賴軟件包的路上,繼而干脆放棄了。

變通的辦法有許多。例如干脆錄制代碼執行視頻給你看。

但是正如我在《MOOC教學,什么最重要?》一文中說過的,學習過程里,反饋最重要。

你需要能運行代碼,并且***時間獲得結果反饋。

在此基礎上,你還得能修改代碼,對比前后執行結果的差別。

我得給你提供一個直接可以運行的環境。

零安裝,自然也就沒了上述煩惱。

這個事兒可能嗎?

我研究了一下,沒問題。

只要你的設備上有個現代化瀏覽器(包括但不限于Google Chrome, Firefox, Safari和Microsoft Edge等)就行。

IE 8.0?

那個不行,趕緊升級吧!

讀到這里,你應該想明白了。因為只挑瀏覽器,不挑操作系統,所以別說你用Windows 10,你就是用iPad,都能運行代碼。

嘗試

請你打開瀏覽器,輸入這個鏈接(http://t.cn/R35fElv)。

看看會發生什么?

我這里用iPad給你演示。

一開始會有個啟動界面出來。請你稍等10幾秒鐘。

如何用iPad運行Python代碼

然后,你就能看到熟悉的Python代碼運行界面了。

如何用iPad運行Python代碼

這個界面來自 Jupyter Lab。

你可以將它理解為 Jupyter Notebook 的增強版,它具備以下特征:

  • 代碼單元直接鼠標拖動;

  • 一個瀏覽器標簽,可打開多個Notebook,而且分別使用不同的Kernel;

  • 提供實時渲染的Markdown編輯器;

  • 完整的文件瀏覽器;

  • CSV數據文件快速瀏覽

  • ……

圖中左側分欄,是工作目錄下的全部文件。

右側打開的,是咱們要使用的ipynb文件。

為了證明這不是逗你玩兒,請你點擊右側代碼上方工具欄的運行按鈕。

點擊一下,就會運行出當前所在代碼單元的結果。

不斷點擊下來,你可以看見,結果都被正常渲染。

如何用iPad運行Python代碼

連圖像也能正常顯示。

如何用iPad運行Python代碼

甚至連下面這種需要一定運算量的可視化結果,都沒問題。

如何用iPad運行Python代碼

為了證明這不是變魔術,你可以在新的單元格,寫一行輸出語句。

就讓Python輸出你的名字吧。

假如你叫 Chuck,就這樣寫:

print("Hello, Chuck!")

把它替換成你自己的姓名,看看輸出結果是否正確?

如何用iPad運行Python代碼

其實,又何止是iPad而已?

你如果足夠勇(sang) 于(xin) 嘗(bing) 試(kuang),手機其實也是可以的。

就像這樣。

如何用iPad運行Python代碼

流程

下面我給你講講,這種效果是怎么做出來的。

我們需要用到一款工具,叫做 mybinder 。它可以幫助我們,把 github 上的某個代碼倉庫(repo),快速轉換成為一個可運行的環境。

注意 mybinder 為我們提供了云設施,也就是計算資源和存儲資源。因此即便許許多多的用戶同時在線使用同一份代碼轉換出來的環境,也不會互相沖突。

我們先來看看,怎么準備一個可供 mybinder 順利轉換的代碼倉庫。

我為你提供的樣例在這里(http://t.cn/R35MEqk):

如何用iPad運行Python代碼

順便說一句,這個樣例來自于我的數據科學系列教程之《如何用Python處理自然語言?(Spacy與Word  Embedding)》。感興趣的同學可以點擊鏈接,查看原文。

在該 GitHub 頁面展示的文件列表中,你需要注意以下3個文件:

  • demo.ipynb

  • environment.yml

  • postBuild

其中demo.ipynb就是你在上一節看到的包含源代碼的Jupyter Notebook文件。你需要首先在本地安裝相關軟件包,并且運行測試通過。

如果在你本地運行都有錯誤,放到云上去,想必也難以正常運行。

environment.yml文件非常重要,它來告訴 mybinder ,需要如何為你的代碼運行準備環境。

我們打開看看該文件的內容:

dependencies:   - python=3   - pip:     - spacy     - ipykernel     - scipy     - numpy     - scikit-learn     - matplotlib     - pandas     - thinc

這個文件首先告訴 mybinder ,你的 Python 版本。我們采用的是 3.6 版。所以只需要指定 python=3 即可。mybinder  會自動為你下載安裝***的。

然后這個文件說明需要使用 pip 工具安裝哪些軟件包。我們需要把所有依賴的安裝包都羅列出來。

這就是之前,我總在教程里給你說明的那些準備步驟。

但是這還沒有完,因為 mybinder 只是為你安裝好了一些軟件依賴。

這里還有兩個步驟需要處理:

  • 為了分析語義,我們需要調用預訓練的Word2vec模型,這需要 mybinder 為我們提前下載好。

  • Jupyter Notebook 打開后,應當使用的 kernel 名稱為 wangshuyi ,這個 kernel 目前還沒有在 Jupyter  里面注冊。我們需要 mybinder 代勞。

為了完成上述兩個步驟,你就需要準備***一個postBuild文件。

它的內容如下:

python -m spacy download en python -m spacy download en_core_web_lg python -m ipykernel install --user --name=wangshuyi

跟它的名字一樣。它是在 mybinder 依據 environment.yml  安裝了依賴組建后,依次執行的命令。如果你的代碼需要其他的命令提供環境支持,也可以放在這里。

至此,你的準備工作就算結束了。

魔法表演正式開始。

請打開 mybinder 的網址(https://mybinder.org/)。

如何用iPad運行Python代碼

在 “GitHub repo or URL” 一欄,填寫我們的 github 代碼倉庫鏈接,即:

  • https://github.com/wshuyi/demo-spacy-text-processing

我們希望一進入界面,就自動打開 demo.ipynb ,因此需要在“Path to a notebook file  (optional)”一欄填寫demo.ipynb 。

這時,你會發現“Copy the URL below and share your Binder with  others:”一欄中,出現了你的代碼運行環境網址。

  • https://mybinder.org/v2/gh/wshuyi/demo-spacy-text-processing/master?filepath=demo.ipynb

點擊右側的“復制”按鈕保存到你的記事本里面。將來找到你轉換好的運行環境,就全靠它了。

妥善保存地址后,點擊“Launch”按鈕。

如何用iPad運行Python代碼

根據你的依賴安裝包數量等因素,你需要等待的時間長短不一。但是只有***次構建的時候,需要花一些時間。

以后每一次調用執行,就都會非常快了。

構建完畢后, mybinder 會自動為我們開啟對應的運行環境。

如何用iPad運行Python代碼

很有成就感吧!

測試一下,能夠正常運行代碼,就證明我們成功了。

但是你會發現,不對啊!

老師你剛才用 iPad 展示的,不是高級版的 Jupyter Lab 嗎?怎么又變成了 Jupyter Notebook 了?

我也想要高級版!

別著急。

看看你目前的鏈接地址:

https://mybinder.org/v2/gh/wshuyi/demo-spacy-text-processing/master?filepath=demo.ipynb

你只需要做個小小的調整,將其中的:

?filepath=

替換為:

?urlpath=lab/tree/

替換后的鏈接為:

https://mybinder.org/v2/gh/wshuyi/demo-spacy-text-processing/master?urlpath=lab/tree/demo.ipynb

把它輸入到瀏覽器,看看出來的結果:

如何用iPad運行Python代碼

這下沒問題了吧?

原理

你是不是覺得,mybinder 很黑科技?

其實,也不算。

它只是把已有的幾項技術,鏈接了起來。

這大概也算是“積木式創新”的一個實例吧。

我們看看 mybinder 的說明:

如何用iPad運行Python代碼

可以看到,其中最為關鍵的技術,是用了 docker 。

Docker 是個什么東西呢?

簡單來說,Docker 就是為了不同平臺上,都能夠順利執行同一份代碼的保障工具。

你有些猶疑,這說的不是 Java 嗎?

沒錯,Java 的宣傳口號,就是一次編碼,各處運行。

它利用虛擬機,來保障這種能力。

如何用iPad運行Python代碼

但是,如果你經常使用 Java 開發出來的工具,就應該了解痛點有哪些了。

至少,你應該對 Java 程序的運行速度,有一些體會。

如何用iPad運行Python代碼
上圖中,左側是虛擬機,右側是Docker。

Docker 不但效率上要強過 Java 虛擬機,而且它支持的編程語言也不僅僅是一種。

至于其他好處,咱們就不展開了。否則聽起來像廣告。

其實,把 github 代碼倉庫轉換為 docker 鏡像(image)的工作,也不是 mybinder 自己來做的。

它調用的,是另外的一個工具,叫做 repo2docker(https://github.com/jupyter/repo2docker) 。

如何用iPad運行Python代碼

而你的瀏覽器能夠執行 Python 代碼,是因為 Jupyter Notebook (或者Lab)本來就是建立在“瀏覽器/服務器”(Browser /  Server, B/S)結構上。

如果你已經在本地計算機安裝過 Anaconda ,那不妨看看本地執行這個語句:

jupyter lab

會出現什么?

如何用iPad運行Python代碼

對,它開啟了一個服務器,然后打開你的瀏覽器,跟這個服務器通訊。

Jupyter 的這種設計,本身就讓它的擴展極為方便。

無論 Jupyter 服務器是運行在你的本地筆記本上,還是擺在另一個大洲的機房,對你執行 Python 代碼來說,都是沒有本質區別的。

另外,如果你以為 mybinder 只能讓你在瀏覽器上跑 Python 代碼,那就太小瞧它了。

關于如何用iPad運行Python代碼就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

康乐县| 兴宁市| 屏边| 山东省| 巴楚县| 论坛| 福建省| 双鸭山市| 平阴县| 沂南县| 咸阳市| 夏邑县| 普安县| 梓潼县| 教育| 永安市| 府谷县| 正镶白旗| 东光县| 阳城县| 岫岩| 司法| 左权县| 鞍山市| 宁陕县| 晴隆县| 娄底市| 日土县| 甘孜县| 江永县| 凤阳县| 灯塔市| 山东| 中方县| 岳西县| 乌拉特中旗| 迁西县| 刚察县| 琼海市| 商丘市| 华蓥市|