<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    Jupyter Notebook 安裝和使用保姆級教程

    共 15542字,需瀏覽 32分鐘

     ·

    2022-02-16 21:51

    在下方公眾號后臺回復(fù):JGNB,可獲取杰哥原創(chuàng)的 PDF 手冊。
    來源:Raxxie

    一、什么是Jupyter Notebook?

    1. 簡介

    Jupyter Notebook是基于網(wǎng)頁的用于交互計算的應(yīng)用程序。其可被應(yīng)用于全過程計算:開發(fā)、文檔編寫、運(yùn)行代碼和展示結(jié)果?!狫upyter Notebook官方介紹

    簡而言之,Jupyter Notebook是以網(wǎng)頁的形式打開,可以在網(wǎng)頁頁面中「直接」編寫代碼和運(yùn)行代碼,代碼的運(yùn)行結(jié)果也會直接在代碼塊下顯示。如在編程過程中需要編寫說明文檔,可在同一個頁面中直接編寫,便于作及時的說明和解釋。

    2. 組成部分

    ① 網(wǎng)頁應(yīng)用

    網(wǎng)頁應(yīng)用即基于網(wǎng)頁形式的、結(jié)合了編寫說明文檔、數(shù)學(xué)公式、交互計算和其他富媒體形式的工具。「簡言之,網(wǎng)頁應(yīng)用是可以實現(xiàn)各種功能的工具?!?/strong>

    ② 文檔

    即Jupyter Notebook中所有交互計算、編寫說明文檔、數(shù)學(xué)公式、圖片以及其他富媒體形式的輸入和輸出,都是以文檔的形式體現(xiàn)的。
    這些文檔是保存為后綴名為.ipynbJSON格式文件,不僅便于版本控制,也方便與他人共享。
    此外,文檔還可以導(dǎo)出為:HTML、LaTeX、PDF等格式。

    3. Jupyter Notebook的主要特點

    1. 編程時具有「語法高亮」、縮進(jìn)、tab補(bǔ)全的功能。
    2. 可直接通過瀏覽器運(yùn)行代碼,同時在代碼塊下方展示運(yùn)行結(jié)果。
    3. 以富媒體格式展示計算結(jié)果。富媒體格式包括:HTML,LaTeX,PNG,SVG等。
    4. 對代碼編寫說明文檔或語句時,支持Markdown語法。
    5. 支持使用LaTeX編寫數(shù)學(xué)性說明。

    二、安裝Jupyter Notebook

    0. 先試用,再決定

    如果看了以上對Jupyter Notebook的介紹你還是拿不定主意究竟是否適合你,那么不要擔(dān)心,你可以先「免安裝試用體驗」一下,然后再做決定。
    值得注意的是,官方提供的同時試用是有限的,如果你點擊鏈接之后進(jìn)入的頁面如下圖所示,那么不要著急,過會兒再試試看吧。
    試用失敗
    如果你足夠幸運(yùn),那么你將看到如下界面,就可以開始體驗啦。
    主界面

    編輯頁面

    1. 安裝

    ① 安裝前提

    安裝Jupyter Notebook的前提是需要安裝了Python(3.3版本及以上,或2.7版本)。

    ② 使用Anaconda安裝

    如果你是小白,那么建議你通過安裝Anaconda來解決Jupyter Notebook的安裝問題,因為Anaconda已經(jīng)自動為你安裝了Jupter Notebook及其他工具,還有python中超過180個科學(xué)包及其依賴項。
    你可以通過進(jìn)入Anaconda的官方下載頁面自行選擇下載;
    常規(guī)來說,安裝了Anaconda發(fā)行版時已經(jīng)自動為你安裝了Jupyter Notebook的,但如果沒有自動安裝,那么就在終端(Linux或macOS的“終端”,Windows的“Anaconda Prompt”,以下均簡稱“終端”)中輸入以下命令安裝:
    conda install jupyter notebook

    ③ 使用pip命令安裝

    如果你是有經(jīng)驗的Python玩家,想要嘗試用pip命令來安裝Jupyter Notebook,那么請看以下步驟吧!接下來的命令都輸入在終端當(dāng)中的噢!

    把pip升級到最新版本

    pip?install?--upgrade?pip
    • 注意:老版本的pip在安裝Jupyter Notebook過程中或面臨依賴項無法同步安裝的問題。因此「強(qiáng)烈建議」先把pip升級到最新版本。

    安裝Jupyter Notebook

    pip?install?jupyter

    三、運(yùn)行Jupyter Notebook

    0. 幫助

    如果你有任何jupyter notebook命令的疑問,可以考慮查看官方幫助文檔,命令如下:
    jupyter?notebook?--help
    jupyter notebook -h

    1. 啟動

    ① 默認(rèn)端口啟動

    在終端中輸入以下命令:
    jupyter notebook
    執(zhí)行命令之后,在終端中將會顯示一系列notebook的服務(wù)器信息,同時瀏覽器將會自動啟動Jupyter Notebook。
    啟動過程中終端顯示內(nèi)容如下:
    $?jupyter?notebook
    [I?08:58:24.417?NotebookApp]?Serving?notebooks?from?local?directory:?/Users/catherine
    [I?08:58:24.417?NotebookApp]?0?active?kernels
    [I?08:58:24.417?NotebookApp]?The?Jupyter?Notebook?is?running?at:?http://localhost:8888/
    [I?08:58:24.417?NotebookApp]?Use?Control-C?to?stop?this?server?and?shut?down?all?kernels?(twice?to?skip?confirmation).
    • 注意:之后在Jupyter Notebook的所有操作,都請保持終端「不要關(guān)閉」,因為一旦關(guān)閉終端,就會斷開與本地服務(wù)器的鏈接,你將無法在Jupyter Notebook中進(jìn)行其他操作啦。
    瀏覽器地址欄中默認(rèn)地將會顯示:http://localhost:8888。其中,“l(fā)ocalhost”指的是本機(jī),“8888”則是端口號。
    如果你「同時」啟動了多個Jupyter Notebook,由于默認(rèn)端口“8888”被占用,因此地址欄中的數(shù)字將從“8888”起,每多啟動一個Jupyter Notebook數(shù)字就加1,如“8889”、“8890”……

    ② 指定端口啟動

    如果你想自定義端口號來啟動Jupyter Notebook,可以在終端中輸入以下命令:
    jupyter?notebook?--port?<port_number>

    其中,“”是自定義端口號,直接以數(shù)字的形式寫在命令當(dāng)中,數(shù)字兩邊不加尖括號“<>”。如:jupyter notebook --port 9999,即在端口號為“9999”的服務(wù)器啟動Jupyter Notebook。

    ③ 啟動服務(wù)器但不打開瀏覽器

    如果你只是想啟動Jupyter Notebook的服務(wù)器但不打算立刻進(jìn)入到主頁面,那么就無需立刻啟動瀏覽器。在終端中輸入:
    jupyter notebook --no-browser

    此時,將會在終端顯示啟動的服務(wù)器信息,并在服務(wù)器啟動之后,顯示出打開瀏覽器頁面的鏈接。當(dāng)你需要啟動瀏覽器頁面時,只需要復(fù)制鏈接,并粘貼在瀏覽器的地址欄中,輕按回車變轉(zhuǎn)到了你的Jupyter Notebook頁面。
    no_browser
    例圖中由于在完成上面內(nèi)容時我同時啟動了多個Jupyter Notebook,因此顯示我的“8888”端口號被占用,最終分配給我的是“8889”。

    2. 主頁面

    ① 主頁面內(nèi)容

    當(dāng)執(zhí)行完啟動命令之后,瀏覽器將會進(jìn)入到Notebook的主頁面,如下圖所示。

    如果你的主頁面里邊的文件夾跟我的不同,或者你在疑惑為什么首次啟動里邊就已經(jīng)有這么多文件夾,不要擔(dān)心,這里邊的文件夾全都是你的家目錄里的目錄文件。你可以在終端中執(zhí)行以下2步來查看:
    cdcd -cd ~cd /Users/
    • 這個命令將會進(jìn)入你的家目錄。
    • ” 是用戶名。用戶名兩邊不加尖括號“<>”。
    ls
    • 這個命令將會展示你家目錄下的文件。

    ② 設(shè)置Jupyter Notebook文件存放位置

    如果你不想把今后在Jupyter Notebook中編寫的所有文檔都直接保存在家目錄下,那你需要修改Jupyter Notebook的文件存放路徑。

    ⑴ 創(chuàng)建文件夾/目錄

    • Windows用戶在想要存放Jupyter Notebook文件的「磁盤」「新建文件夾」并為該文件夾命名;雙擊進(jìn)入該文件夾,然后復(fù)制地址欄中的路徑。
    • Linux/macOS用戶在想要存放Jupyter Notebook文件的位置「創(chuàng)建目錄」并為目錄命名,命令為:mkdir;進(jìn)入目錄,命令為:cd;查看目錄的路徑,命令為:pwd;復(fù)制該路徑。
    • 注意:“”是自定義的目錄名。目錄名兩邊不加尖括號“<>”。

    ⑵ 配置文件路徑

    • 一個便捷獲取配置文件所在路徑的命令:
    jupyter notebook --generate-config
    • 注意:這條命令雖然可以用于查看配置文件所在的路徑,但主要用途是是否將這個路徑下的配置文件「替換」「默認(rèn)配置文件」。如果你是第一次查詢,那么「或許」不會出現(xiàn)下圖的提示;若文件已經(jīng)存在或被修改,使用這個命令之后會出現(xiàn)詢問“Overwrite /Users/raxxie/.jupyter/jupyter_notebook_config.py with default config? [y/N]”,即“用默認(rèn)配置文件覆蓋此路徑下的文件嗎?”,如果按“y”,則完成覆蓋,那么之前所做的修改都將失效;如果只是為了查詢路徑,那么一定要輸入“N”。

    常規(guī)的情況下,Windows和Linux/macOS的配置文件所在路徑和配置文件名如下所述:
    • Windows系統(tǒng)的配置文件路徑:C:\Users\\.jupyter\
    • Linux/macOS系統(tǒng)的配置文件路徑:/Users//.jupyter/~/.jupyter/
    • 配置文件名:jupyter_notebook_config.py
    • 注意:
    ① “”為你的用戶名。用戶名兩邊不加尖括號“<>”。
    ② Windows和Linux/macOS系統(tǒng)的配置文件存放路徑其實是相同的,只是系統(tǒng)不同,表現(xiàn)形式有所不同而已。
    ③ Windows和Linux/macOS系統(tǒng)的配置文件也是相同的。文件名以“.py”結(jié)尾,是Python的可執(zhí)行文件。
    ④ 如果你不是通過一步到位的方式前往配置文件所在位置,而是一層一層進(jìn)入文件夾/目錄的,那么當(dāng)你進(jìn)入家目錄后,用ls命令會發(fā)現(xiàn)找不到“.jupyter”文件夾/目錄。這是因為凡是以“.”開頭的目錄都是隱藏文件,你可以通過ls -a命令查看當(dāng)前位置下所有的隱藏文件。

    ⑶ 修改配置文件

    • Windows系統(tǒng)的用戶可以使用文檔編輯工具或IDE打開“jupyter_notebook_config.py”文件并進(jìn)行編輯。常用的文檔編輯工具和IDE有記事本、Notepad++、vim、Sublime Text、PyCharm等。其中,vim是沒有圖形界面的,是一款學(xué)習(xí)曲線較為陡峭的編輯器,其他工具在此不做使用說明,因為上手相對簡單。通過vim修改配置文件的方法請繼續(xù)往下閱讀。
    • Linux/macOS系統(tǒng)的用戶建議直接通過終端調(diào)用vim來對配置文件進(jìn)行修改。具體操作步驟如下:
    ? 打開配置文件
    打開終端,輸入命令:
    vim?~/.jupyter/jupyter_notebook_config.py


    vim打開配置文件
    執(zhí)行上述命令后便進(jìn)入到配置文件當(dāng)中了。
    ? 查找關(guān)鍵詞
    進(jìn)入配置文件后查找關(guān)鍵詞“c.NotebookApp.notebook_dir”。查找方法如下:
    進(jìn)入配置文件后不要按其他鍵,用「英文半角」直接輸入/c.NotebookApp.notebook_dir,這時搜索的關(guān)鍵詞已在文檔中高亮顯示了,按回車,光標(biāo)從底部切換到文檔正文中被查找關(guān)鍵詞的首字母。
    ? 編輯配置文件
    「小寫i」進(jìn)入編輯模式,底部出現(xiàn)“--INSERT--”說明成功進(jìn)入編輯模式。使用方向鍵把光標(biāo)定位在第二個單引號上(光標(biāo)定位在哪個字符,就在這個字符前開始輸入),把“⑴ 創(chuàng)建文件夾/目錄”步驟中復(fù)制的路徑粘貼在此處。
    ? 取消注釋
    把該行行首的**井號(#)**刪除。因為配置文件是Python的可執(zhí)行文件,在Python中,井號(#)表示注釋,即在編譯過程中不會執(zhí)行該行命令,所以為了使修改生效,需要刪除井號(#)。
    config
    ? 保存配置文件
    先按ESC鍵,從編輯模式退出,回到命令模式。
    再用「英文半角」直接輸入:wq,回車即成功保存且退出了配置文件。
    注意:
    • 「冒號(:)」 一定要有,且也是「英文半角」。
    • w:保存。
    • q:退出。
    ? 驗證
    在終端中輸入命令jupyter notebook打開Jupyter Notebook,此時你會看到一個清爽的界面,恭喜!
    modified
    ? 注意
    • 以上所有命令均以「英文半角」格式輸入,若有報錯,請嚴(yán)格檢查這兩個條件,「英文」「半角」
    • 這里僅介紹了vim編輯器修改配置文件的方法,沒有對vim編輯器的詳細(xì)使用進(jìn)行講解,所以無需了解vim編輯器的具體使用方法,只需要按照上述步驟一定可以順利完成修改!
    • 推薦有時間和經(jīng)歷時學(xué)習(xí)一下vim編輯器的使用。這款強(qiáng)大的編輯器將會成為你未來工作中的利器。

    四、Jupyter Notebook的基本使用

    1. Files頁面

    Files頁面
    此時你的界面當(dāng)中應(yīng)該還沒有“Conda”和“Nbextensions”類目。不要著急,這兩個類目將分別在“五、拓展功能”中的“1.關(guān)聯(lián)Jupyter Notebook和conda的環(huán)境和包——‘nb_conda’”和“2.Markdown生成目錄”中安裝。
    Files頁面是用于管理和創(chuàng)建文件相關(guān)的類目。
    對于現(xiàn)有的文件,可以通過勾選文件的方式,對選中文件進(jìn)行復(fù)制、重命名、移動、下載、查看、編輯和刪除的操作。
    同時,也可以根據(jù)需要,在“New”下拉列表中選擇想要創(chuàng)建文件的環(huán)境,進(jìn)行創(chuàng)建“ipynb”格式的筆記本、“txt”格式的文檔、終端或文件夾。如果你創(chuàng)建的環(huán)境沒有在下拉列表中顯示,那么你需要依次前往“五、拓展功能”中的“1.關(guān)聯(lián)Jupyter Notebook和conda的環(huán)境和包——‘nb_conda’”和“六、增加內(nèi)核——‘ipykernel’”中解決該問題。

    ① 筆記本的基本操作

    筆記本的使用
    上圖展示的是筆記本的基本結(jié)構(gòu)和功能。根據(jù)圖中的注解已經(jīng)可以解決絕大多數(shù)的使用問題了!
    工具欄的使用如圖中的注解一樣直觀,在此不過多解釋。需要特別說明的是“單元格的狀態(tài)”,有Code,Markdown,Heading,Raw NBconvert。其中,最常用的是前兩個,分別是代碼狀態(tài),Markdown編寫狀態(tài)。Jupyter Notebook已經(jīng)取消了Heading狀態(tài),即標(biāo)題單元格。取而代之的是Markdown的一級至六級標(biāo)題。而Raw NBconvert目前極少用到,此處也不做過多講解。
    菜單欄涵蓋了筆記本的所有功能,即便是工具欄的功能,也都可以在菜單欄的類目里找到。然而,并不是所有功能都是常用的,比如Widgets,Navigate。Kernel類目的使用,主要是對內(nèi)核的操作,比如中斷、重啟、連接、關(guān)閉、切換內(nèi)核等,由于我們在創(chuàng)建筆記本時已經(jīng)選擇了內(nèi)核,因此切換內(nèi)核的操作便于我們在使用筆記本時切換到我們想要的內(nèi)核環(huán)境中去。由于其他的功能相對比較常規(guī),根據(jù)圖中的注解來嘗試使用筆記本的功能已經(jīng)非常便捷,因此不再做詳細(xì)講解。

    ② 筆記本重命名的兩種方式

    ⑴ ?筆記本內(nèi)部重命名

    在使用筆記本時,可以直接在其內(nèi)部進(jìn)行重命名。在左上方“Jupyter”的圖標(biāo)旁有程序默認(rèn)的標(biāo)題“Untitled”,點擊“Untitled”然后在彈出的對話框中輸入自擬的標(biāo)題,點擊“Rename”即完成了重命名。

    ⑵ ?筆記本外部重命名

    若在使用筆記本時忘記了重命名,且已經(jīng)保存并退出至“Files”界面,則在“Files”界面勾選需要重命名的文件,點擊“Rename”然后直接輸入自擬的標(biāo)題即可。

    ⑶ 演示

    重命名

    2. Running頁面

    Running頁面主要展示的是當(dāng)前正在運(yùn)行當(dāng)中的終端和“ipynb”格式的筆記本。若想要關(guān)閉已經(jīng)打開的終端和“ipynb”格式的筆記本,僅僅關(guān)閉其頁面是無法徹底退出程序的,需要在Running頁面點擊其對應(yīng)的“Shutdown”。更多關(guān)閉方法可以查閱“八、關(guān)閉和退出”中的“1.關(guān)閉筆記本和終端”
    Running

    3. Clusters頁面

    Clusters tab is now provided by IPython parallel. See 'IPython parallel' for installation details.
    ?
    Clusters類目現(xiàn)在已由IPython parallel對接,且由于現(xiàn)階段使用頻率較低,因此在此不做詳細(xì)說明,想要了解更多可以訪問IPython parallel的官方網(wǎng)站。

    4. Conda頁面

    Conda頁面主要是Jupyter Notebook與Conda關(guān)聯(lián)之后對Conda環(huán)境和包進(jìn)行直接操作和管理的頁面工具。詳細(xì)信息請直接查閱“五、拓展功能”中的“1.關(guān)聯(lián)Jupyter Notebook和conda的環(huán)境和包——‘nb_conda’”。這是目前使用Jupyter Notebook的必備環(huán)節(jié),因此請務(wù)必查閱。

    5. Nbextensions頁面

    nbextensions
    Nbextensions頁面提供了多個Jupyter Notebook的插件,使其功能更加強(qiáng)大。該頁面中主要使用的插件有nb_conda,nb_present,Table of Contents(2)。這些功能我們無需完全掌握,也無需安裝所有的擴(kuò)展功能,根據(jù)本文檔提供的學(xué)習(xí)思路,我們只需要安裝Talbe of Contents(2)即可,該功能可為Markdown文檔提供目錄導(dǎo)航,便于我們編寫文檔。該安裝指導(dǎo)請查閱“五、拓展功能”中的“2.Markdown生成目錄”。

    五、拓展功能

    1. 關(guān)聯(lián)Jupyter Notebook和conda的環(huán)境和包——“nb_conda”☆

    ① 安裝

    conda install nb_conda

    執(zhí)行上述命令能夠?qū)⒛鉩onda創(chuàng)建的環(huán)境與Jupyter Notebook相關(guān)聯(lián),便于你在Jupyter Notebook的使用中,在不同的環(huán)境下創(chuàng)建筆記本進(jìn)行工作。

    ② 使用

    • 可以在Conda類目下對conda環(huán)境和包進(jìn)行一系列操作。

      conda類目
    • 可以在筆記本內(nèi)的“Kernel”類目里的“Change kernel”切換內(nèi)核。

      切換內(nèi)核

    ③ 卸載

    canda?remove?nb_conda

    執(zhí)行上述命令即可卸載nb_conda包。

    2. Markdown生成目錄

    • 不同于有道云筆記的Markdown編譯器,Jupyter Notebook無法為Markdown文檔通過特定語法添加目錄,因此需要通過安裝擴(kuò)展來實現(xiàn)目錄的添加。
    conda?install?-c?conda-forge?jupyter_contrib_nbextensions

    • 執(zhí)行上述命令后,啟動Jupyter Notebook,你會發(fā)現(xiàn)導(dǎo)航欄多了“Nbextensions”的類目,點擊“Nbextensions”,勾選“Table of Contents ⑵”

      nbextensions
    • 之后再在Jupyter Notebook中使用Markdown,點擊下圖的圖標(biāo)即可使用啦。

      添加目錄

    3. Markdown在文中設(shè)置鏈接并定位

    在使用Markdown編輯文檔時,難免會遇到需要在文中設(shè)定鏈接,定位在文檔中的其他位置便于查看。因為Markdown可以完美的兼容html語法,因此這種功能可以通過html語法當(dāng)中“a標(biāo)簽”的索引用法來實現(xiàn)。
    語法格式如下:
    [添加鏈接的正文](#自定義索引詞)
    <a?id=自定義索引詞>跳轉(zhuǎn)提示a>
    • 注意:

      1. 語法格式當(dāng)中所有的符號均是「英文半角」。
      2. “自定義索引詞”最好是英文,較長的詞可以用下劃線連接。
      3. “a標(biāo)簽”出現(xiàn)在想要被跳轉(zhuǎn)到的文章位置,html標(biāo)簽除了單標(biāo)簽外均要符合“有頭()必有尾()”的原則。頭尾之間的“跳轉(zhuǎn)提示”是可有可無的。
      4. “a標(biāo)簽”中的“id”值即是為正文中添加鏈接時設(shè)定的“自定義索引值”,這里通過“id”的值實現(xiàn)從正文的鏈接跳轉(zhuǎn)至指定位置的功能。
    • 例:

    • 1.有跳轉(zhuǎn)提示語

      2.無跳轉(zhuǎn)提示語

    4. 加載指定網(wǎng)頁源代碼

    ① 使用場景

    想要在Jupyter Notebook中直接加載指定網(wǎng)站的源代碼到筆記本中。

    ② 方法

    執(zhí)行以下命令:
    %load URL
    其中,URL為指定網(wǎng)站的地址。

    ③ 例

    加載指定網(wǎng)站源代碼

    5. 加載本地Python文件

    ① 使用場景

    想在Jupyter Notebook中加載本地的Python文件并執(zhí)行文件代碼。

    ② 方法

    執(zhí)行以下命令:
    %load Python文件的絕對路徑

    ③ 注意

    1. Python文件的后綴為“.py”。
    2. “%load”后跟的是Python文件的「絕對路徑」。
    3. 輸入命令后,可以按CTRL 回車來執(zhí)行命令。第一次執(zhí)行,是將本地的Python文件內(nèi)容加載到單元格內(nèi)。此時,Jupyter Notebook會自動將“%load”命令注釋掉(即在前邊加井號“#”),以便在執(zhí)行已加載的文件代碼時不重復(fù)執(zhí)行該命令;第二次執(zhí)行,則是執(zhí)行已加載文件的代碼。

    ④ 例

    加載本地Python文件

    6. 直接運(yùn)行本地Python文件

    ① 使用場景

    不想在Jupyter Notebook的單元格中加載本地Python文件,想要直接運(yùn)行。

    ② 方法

    執(zhí)行命令:
    %run Python文件的絕對路徑

    !python3 Python文件的絕對路徑

    !python Python文件的絕對路徑

    ③ 注意

    1. Python文件的后綴為“.py”。
    2. “%run”后跟的是Python文件的「絕對路徑」。
    3. “!python3”用于執(zhí)行Python 3.x版本的代碼。
    4. “!python”用于執(zhí)行Python 2.x版本的代碼。
    5. “!python3”和“!python”屬于 !shell命令 語法的使用,即在Jupyter Notebook中執(zhí)行shell命令的語法。
    6. 輸入命令后,可以按 CTRL 回車 來執(zhí)行命令,執(zhí)行過程中將不顯示本地Python文件的內(nèi)容,直接顯示運(yùn)行結(jié)果。

    ④ 例

    直接運(yùn)行Python文件

    7. 在Jupyter Notebook中獲取當(dāng)前位置

    ① 使用場景

    想要在Jupyter Notebook中獲取當(dāng)前所在位置的「絕對路徑」。

    ② 方法

    %pwd
    !pwd

    ③ 注意

    1. 獲取的位置是當(dāng)前Jupyter Notebook中創(chuàng)建的筆記本所在位置,且該位置為「絕對路徑」。
    2. “!pwd”屬于 !shell命令 語法的使用,即在Jupyter Notebook中執(zhí)行shell命令的語法。

    ④ 例

    獲取當(dāng)前路徑

    8. 在Jupyter Notebook使用shell命令

    ① 方法一——在筆記本的單元格中

    ⑴ 語法

    !shell命令
    • 在Jupyter Notebook中的筆記本單元格中用英文感嘆號“!”后接shell命令即可執(zhí)行shell命令。

    ⑵ 例

    shell命令

    ② 方法二——在Jupyter Notebook中新建終端

    ⑴ 啟動方法

    在Jupyter Notebook主界面,即“File”界面中點擊“New”;在“New”下拉框中點擊“Terminal”即新建了終端。此時終端位置是在你的家目錄,可以通過pwd命令查詢當(dāng)前所在位置的絕對路徑。

    ⑵ 關(guān)閉方法

    在Jupyter Notebook的“Running”界面中的“Terminals”類目中可以看到正在運(yùn)行的終端,點擊后邊的“Shutdown”即可關(guān)閉終端。

    ⑶ 例

    終端

    9. 隱藏筆記本輸入單元格

    ① 使用場景

    在Jupyter Notebook的筆記本中無論是編寫文檔還是編程,都有輸入(In [])和輸出(Out [])。當(dāng)我們編寫的代碼或文檔使用的單元格較多時,有時我們只想關(guān)注輸出的內(nèi)容而暫時不看輸入的內(nèi)容,這時就需要隱藏輸入單元格而只顯示輸出單元格。

    ② 方法一

    ⑴ 代碼

    from?IPython.display?import?display
    from?IPython.display?import?HTML
    import?IPython.core.display?as?di?#?Example:?di.display_html('

    %s:

    '?%?str,?raw=True)


    #?這行代碼的作用是:當(dāng)文檔作為HTML格式輸出時,將會默認(rèn)隱藏輸入單元格。
    di.display_html('',?raw=True)

    #?這行代碼將會添加“Toggle code”按鈕來切換“隱藏/顯示”輸入單元格。
    di.display_html('''Toggle?code''',?raw=True)
    在筆記本第一個單元格中輸入以上代碼,然后執(zhí)行,即可在該文檔中使用“隱藏/顯示”輸入單元格功能。
    • 缺陷:此方法不能很好的適用于Markdown單元格。

    ⑵ 例

    隱藏/顯示方法一

    ③ 方法二

    ⑴ 代碼

    from?IPython.display?import?HTML

    HTML('''<script>
    code_show=true;?
    function?code_toggle()?{
    ?if?(code_show){
    ?$('div.input').hide();
    ?}?else?{
    ?$('div.input').show();
    ?}
    ?code_show?=?!code_show
    }?
    $(?document?).ready(code_toggle);
    script>
    <form?action="javascript:code_toggle()"><input?type="submit"?value="Click?here?to?toggle?on/off?the?raw?code.">form>''')
    在筆記本第一個單元格中輸入以上代碼,然后執(zhí)行,即可在該文檔中使用“隱藏/顯示”輸入單元格功能。
    • 缺陷:此方法不能很好的適用于Markdown單元格。

    ⑵ 例

    隱藏/顯示方法二

    10. 魔術(shù)命令

    由于目前暫時用不到過多的魔術(shù)命令,因此暫時先參考官網(wǎng)的文檔。

    六、增加內(nèi)核——“ipykernel” ☆

    1. 使用場景

    1. 場景一:同時用不同版本的Python進(jìn)行工作,在Jupyter Notebook中無法切換,即“New”的下拉菜單中無法使用需要的環(huán)境。
    2. 場景二:創(chuàng)建了不同的虛擬環(huán)境(或許具有相同的Python版本但安裝的包不同),在Jupyter Notebook中無法切換,即“New”的下拉菜單中無法使用需要的環(huán)境。
    接下來將分別用“命令行模式”和“圖形界面模式”來解決以上兩個場景的問題。顧名思義,“命令行模式”即在終端中通過執(zhí)行命令來一步步解決問題;“圖形界面模式”則是通過在Jupyter Notebook的網(wǎng)頁中通過鼠標(biāo)點擊的方式解決上述問題。
    “命令行模式”看似比較復(fù)雜,且又劃分了使用場景,但通過這種方式來解決問題可以更好的了解其中的工作原理,比如,每進(jìn)行一步操作對應(yīng)的命令是什么,而命令的執(zhí)行是為了達(dá)到什么樣的目的,這些可能都被封裝在圖形界面上的一個點擊動作來完成了。對于想更深入了解其運(yùn)作過程的朋友,可以接著向下閱讀。

    2. 解決方法之命令行模式

    ① 同時使用不同版本的Python

    ⑴ 在Python 3中創(chuàng)建Python 2內(nèi)核

    ? pip安裝
    • 首先安裝Python 2的ipykernel包。
    python2 -m pip install ipykernel
    • 再為「當(dāng)前用戶」安裝Python 2的內(nèi)核(ipykernel)。
    python2 -m ipykernel install --user
    • 注意:“--user”參數(shù)的意思是針對當(dāng)前用戶安裝,而非系統(tǒng)范圍內(nèi)安裝。
    ? conda安裝
    • 首先創(chuàng)建Python版本為2.x且具有ipykernel的新環(huán)境,其中“”為自定義環(huán)境名,環(huán)境名兩邊不加尖括號“<>”。
    conda?create?-n?<env_name>?python=2?ipykernel
    • 然后切換至新創(chuàng)建的環(huán)境。
    Windows:?activate?<env_name>
    Linux/macOS:?source?activate?<env_name>
    • 「當(dāng)前用戶」安裝Python 2的內(nèi)核(ipykernel)。
    python2 -m ipykernel install --user
    • 注意:“--user”參數(shù)的意思是針對當(dāng)前用戶安裝,而非系統(tǒng)范圍內(nèi)安裝。

    ⑵ 在Python 2中創(chuàng)建Python 3內(nèi)核

    ? pip安裝
    • 首先安裝Python 3的ipykernel包。
    python3 -m pip install ipykernel
    • 再為「當(dāng)前用戶」安裝Python 2的內(nèi)核(ipykernel)。
    python3 -m ipykernel install --user
    • 注意:“--user”參數(shù)的意思是針對當(dāng)前用戶安裝,而非系統(tǒng)范圍內(nèi)安裝。
    ? conda安裝
    • 首先創(chuàng)建Python版本為3.x且具有ipykernel的新環(huán)境,其中“”為自定義環(huán)境名,環(huán)境名兩邊不加尖括號“<>”。
    conda?create?-n?<env_name>?python=3?ipykernel
    • 然后切換至新創(chuàng)建的環(huán)境。
    Windows:?activate?<env_name>
    Linux/macOS:?source?activate?<env_name>
    • 「當(dāng)前用戶」安裝Python 3的內(nèi)核(ipykernel)。
    python3 -m ipykernel install --user
    • 注意:“--user”參數(shù)的意思是針對當(dāng)前用戶安裝,而非系統(tǒng)范圍內(nèi)安裝。

    ② 為不同環(huán)境創(chuàng)建內(nèi)核

    ⑴ 切換至需安裝內(nèi)核的環(huán)境

    Windows:?activate?<env_name>
    Linux/macOS:?source?activate?<env_name>
    • 注意:“”是需要安裝內(nèi)核的環(huán)境名稱,環(huán)境名兩邊不加尖括號“<>”。

    ⑵ 檢查該環(huán)境是否安裝了ipykernel包

    conda?list
    執(zhí)行上述命令查看當(dāng)前環(huán)境下安裝的包,若沒有安裝ipykernel包,則執(zhí)行安裝命令;否則進(jìn)行下一步。
    conda install ipykernel

    ⑶ 為當(dāng)前環(huán)境下的當(dāng)前用戶安裝Python內(nèi)核

    • 若該環(huán)境的Python版本為2.x,則執(zhí)行命令:
    python2?-m?ipykernel?install?--user?--name?<env_name>?--display-name?"<notebook_name>"
    • 若該環(huán)境的Python版本為3.x,則執(zhí)行命令:
    python3?-m?ipykernel?install?--user?--name?<env_name>?--display-name?"<notebook_name>"
    • 注意:
      1. ”為當(dāng)前環(huán)境的環(huán)境名稱。環(huán)境名兩邊不加尖括號“<>”。
      2. ”為自定義顯示在Jupyter Notebook中的名稱。名稱兩邊不加尖括號“<>”,但「雙引號必須加」。
      3. “--name”參數(shù)的值,即“”是Jupyter內(nèi)部使用的,其目錄的存放路徑為~/Library/Jupyter/kernels/。如果定義的名稱在該路徑已經(jīng)存在,那么將自動覆蓋該名稱目錄的內(nèi)容。
      4. “--display-name”參數(shù)的值是顯示在Jupyter Notebook的菜單中的名稱。

    ⑷ 檢驗

    使用命令jupyter notebook啟動Jupyter Notebook;在“Files”下的“New”下拉框中即可找到你在第⑶步中的自定義名稱,此時,你便可以盡情地在Jupyter Notebook中切換環(huán)境,在不同的環(huán)境中創(chuàng)建筆記本進(jìn)行工作和學(xué)習(xí)啦!

    3. 解決方法之圖形界面模式

    ① 你創(chuàng)建了一個新的環(huán)境,但卻發(fā)現(xiàn)在Jupyter Notebook的“New”中找不到這個環(huán)境,無法在該環(huán)境中創(chuàng)建筆記本。
    圖形界面_問題
    ② 進(jìn)入Jupyter Notebook → Conda → 在“Conda environment”中點擊你要添加ipykernel包的環(huán)境 → 左下方搜索框輸入“ipykernel” → 勾選“ipykernel” → 點擊搜索框旁的“→”箭頭 → 安裝完畢 → 右下方框內(nèi)找到“ipykernel”說明已經(jīng)安裝成功。
    圖形界面_解決
    ③ 在終端CTRL C關(guān)閉Jupyter Notebook的服務(wù)器然后重啟Jupyter Notebook,在“File”的“New”的下拉列表里就可以找到你的環(huán)境啦。
    圖形界面_驗證

    七、Jupyter Notebook快捷鍵

    1. Mac與Windows特殊按鍵對照表

    符號Mac按鍵Windows按鍵
    ?command
    ?controlctrl
    ?optionalt
    ?shiftshift
    ?returnreturn
    ?spacespace
    ?tabtab
    ?deletebackspace
    ?fn ?deletedelete
    ---

    2. Jupyter Notebook筆記本的兩種模式

    ① 命令模式

    • 命令模式將鍵盤命令與Jupyter Notebook筆記本命令相結(jié)合,可以通過鍵盤不同鍵的組合運(yùn)行筆記本的命令。
    • esc鍵進(jìn)入命令模式。
    • 命令模式下,單元格邊框為灰色,且左側(cè)邊框線為藍(lán)色粗線條。
    命令模式

    ② 編輯模式

    • 編輯模式使用戶可以在單元格內(nèi)編輯代碼或文檔。
    • enterreturn鍵進(jìn)入編輯模式。
    • 編輯模式下,單元格邊框和左側(cè)邊框線均為綠色。
    編輯模式

    3. 兩種模式的快捷鍵

    ① 命令模式

    快捷鍵用途
    F查找和替換
    ?進(jìn)入編輯模式
    ??F打開命令選項板
    ??P打開命令選項板
    P打開命令選項板
    ??運(yùn)行當(dāng)前單元格并選中下一個單元格
    ??運(yùn)行選中單元格
    ??運(yùn)行當(dāng)前單元格并且在下方插入單元格
    Y將單元格切換至code狀態(tài)
    M將單元格切換至markdown狀態(tài)
    R將單元格切換至raw狀態(tài)
    1將單元格設(shè)定一級標(biāo)題
    2將單元格設(shè)定二級標(biāo)題
    3將單元格設(shè)定三級標(biāo)題
    4將單元格設(shè)定四級標(biāo)題
    5將單元格設(shè)定五級標(biāo)題
    6將單元格設(shè)定六級標(biāo)題
    選中上方單元格
    K選中上方單元格
    選中下方單元格
    J選中下方單元格
    ?K向上多選單元格
    ?↑向上多選單元格
    ?J向下多選單元格
    ?↓向下多選單元格
    A在上方插入單元格
    B在下方插入單元格
    X剪切選中單元格
    C復(fù)制選中單元格
    ?V粘貼到上方單元格
    V粘貼到下方單元格
    Z撤銷刪除
    D, D刪除選中單元格
    ?M合并選中單元格,若直選中一個則與下一個單元格合并
    ?S保存
    S保存
    L轉(zhuǎn)換行號
    O轉(zhuǎn)換輸出
    ?O轉(zhuǎn)換滾動輸出
    H顯示快捷鍵幫助
    I, I中斷Notebook內(nèi)核
    O, O重啟Notebook內(nèi)核
    esc關(guān)閉頁面
    Q關(guān)閉頁面
    ?L轉(zhuǎn)換所有單元格行號且設(shè)置持續(xù)有效
    ??向上滾動
    ?向下滾動

    ② 編輯模式

    Mac快捷鍵Windows快捷鍵用途
    ??代碼補(bǔ)全或縮進(jìn)
    ????提示
    ?]?]向后縮進(jìn)
    ?[?[向前縮進(jìn)
    ?A?A全選
    ?Z?Z撤銷
    ?/
    注釋
    ?D
    刪除該行內(nèi)容
    ?U
    撤銷
    ?↑?↑光標(biāo)跳轉(zhuǎn)至單元格起始位置
    ?↓?↓光標(biāo)跳轉(zhuǎn)至單元格最終位置
    ?←?←光標(biāo)位置左移一個單詞
    ?→?→光標(biāo)位置右移一個單詞
    ????刪除前邊一個單詞
    ????刪除后邊一個單詞
    ??Z?Y重做
    ??U??Z重做
    ????刪除該行光標(biāo)左邊內(nèi)容
    ????刪除該行光標(biāo)右邊內(nèi)容
    ?M?M進(jìn)入命令模式
    escesc進(jìn)入命令模式
    ??F
    打開命令選項板
    ??P
    打開命令選項板
    ????運(yùn)行當(dāng)前單元格并選中下一個單元格
    ????運(yùn)行選中單元格
    ????運(yùn)行當(dāng)前單元格并且在下方插入單元格
    ??-??-以光標(biāo)所在位置分割單元格
    ?S?S保存
    下移光標(biāo)
    上移光標(biāo)

    4. 查看和編輯快捷鍵

    ① 查看快捷鍵

    ① 進(jìn)入Jupyter Notebook主界面“File”中。
    ② 在“New”的下拉列表中選擇環(huán)境創(chuàng)建一個筆記本。
    ③ 點擊“Help”。
    ④ 點擊“Keyboard Shortcuts”。

    ② 編輯快捷鍵

    ⑴ 方法一

    ① 進(jìn)入Jupyter Notebook主界面“File”中。
    ② 在“New”的下拉列表中選擇環(huán)境創(chuàng)建一個筆記本。
    ③ 點擊“Help”。
    ④ 點擊“Keyboard Shortcuts”。
    ⑤ 彈出的對話框中“Command Mode (press Esc to enable)”旁點擊“Edit Shortcuts”按鈕。

    ⑵ 方法二

    ① 進(jìn)入Jupyter Notebook主界面“File”中。
    ② 在“New”的下拉列表中選擇環(huán)境創(chuàng)建一個筆記本。
    ③ 點擊“Help”。
    ④ 點擊“Edit Keyboard Shortcuts”。

    ③ 例

    查看和編輯快捷鍵

    八、關(guān)閉和退出

    1. 關(guān)閉筆記本和終端

    當(dāng)我們在Jupyter Notebook中創(chuàng)建了終端或筆記本時,將會彈出新的窗口來運(yùn)行終端或筆記本。當(dāng)我們使用完畢想要退出終端或筆記本時,僅僅「關(guān)閉頁面」是無法結(jié)束程序運(yùn)行的,因此我們需要通過以下步驟將其完全關(guān)閉。

    ① 方法一

    ⑴ 進(jìn)入“Files”頁面。
    ⑵ 勾選想要關(guān)閉的“ipynb”筆記本。正在運(yùn)行的筆記本其圖標(biāo)為綠色,且后邊標(biāo)有“Running”的字樣;已經(jīng)關(guān)閉的筆記本其圖標(biāo)為灰色。
    ⑶ 點擊上方的黃色的“Shutdown”按鈕。
    ⑷ 成功關(guān)閉筆記本。
    • 注意:此方法只能關(guān)閉筆記本,無法關(guān)閉終端。

    ② 方法二

    ⑴ 進(jìn)入“Running”頁面。
    ⑵ 第一欄是“Terminals”,即所有正在運(yùn)行的終端均會在此顯示;第二欄是“Notebooks”,即所有正在運(yùn)行的“ipynb”筆記本均會在此顯示。
    ⑶ 點擊想要關(guān)閉的終端或筆記本后黃色“Shutdown”按鈕。
    ⑷ 成功關(guān)閉終端或筆記本。
    • 注意:此方法可以關(guān)閉任何正在運(yùn)行的終端和筆記本。

    ③ 注意

    ⑴ 只有“ipynb”筆記本和終端需要通過上述方法才能使其結(jié)束運(yùn)行。
    ⑵ “txt”文檔,即“New”下拉列表中的“Text File”,以及“Folder”只要關(guān)閉程序運(yùn)行的頁面即結(jié)束運(yùn)行,無需通過上述步驟關(guān)閉。

    ④ 演示

    關(guān)閉筆記本和終端

    2. 退出Jupyter Notebook程序

    如果你想退出Jupyter Notebook程序,僅僅通過關(guān)閉網(wǎng)頁是無法退出的,因為當(dāng)你打開Jupyter Notebook時,其實是啟動了它的服務(wù)器。
    你可以嘗試關(guān)閉頁面,并打開新的瀏覽器頁面,把之前的地址輸進(jìn)地址欄,然后跳轉(zhuǎn)頁面,你會發(fā)現(xiàn)再次進(jìn)入了剛才“關(guān)閉”的Jupyter Notebook頁面。
    如果你忘記了剛才關(guān)閉的頁面地址,可以在啟動Jupyter Notebook的終端中找到地址,復(fù)制并粘貼至新的瀏覽器頁面的地址欄,會發(fā)現(xiàn)同樣能夠進(jìn)入剛才關(guān)閉的頁面。
    因此,想要徹底退出Jupyter Notebook,需要關(guān)閉它的服務(wù)器。只需要在它啟動的終端上按:
    • Mac用戶:control c
    • Windows用戶:ctrl c
    然后在終端上會提示:“Shutdown this notebook server (y/[n])?”輸入y即可關(guān)閉服務(wù)器,這才是徹底退出了Jupyter Notebook程序。此時,如果你想要通過輸入剛才關(guān)閉網(wǎng)頁的網(wǎng)址進(jìn)行訪問Jupyter Notebook便會看到報錯頁面。

    推薦閱讀

    Jupyter Notebook 使用速查表


    這個 Jupyter 插件,用起來就像 Excel 一樣簡單

    瀏覽 32
    點贊
    評論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    亚洲 日韩 欧美 另类 国产 | 亚洲日韩免费观看 | 国产成人精品视频免费看 | 色播婷婷五月 | 91av在线黄 |