
1、安裝 Anaconda 下載地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 2、jupyter 啟動: (1)cmd中: jupyter notebook 會默認打開瀏覽器,可以修改默認瀏覽器或在指定瀏覽器輸入 http://localhost:8888/tree (2)要打開一個新的 Jupyter Notebook,請單擊頁面右側的“New”選項卡。在這里,你有四個選項可供選擇: Python 3 Text File (文本文件) Folder (文件夾) Terminal (終端) (3)在下拉菜單中,有四個選項: Code - 這是你輸入代碼的地方 Markdown - 這是你輸入文本的地方。你可以在運行代碼后添加結論,添加注釋等。 Raw NBConvert - 這是一個命令行工具,可將你的筆記本轉換為另一種格式(如 HTML) Heading - 你可以將標題添加到單獨的小節並使你的 Notebook 看起來干凈整潔。這個選項現在已經集成到 Markdown 選項中。添加一個“##”,以確保在你之后輸入的內容將被視為標題 (4)修改notebook的名字,直接點擊當前名稱,彈出對話框進行修改 (5)對於Notebook中的單元,有兩種模式:命令模式(Command Mode)與編輯模式(Edit Mode),在不同模式下我們可以進行不同的操作 在編輯模式(Edit Mode)下,右上角出現一只鉛筆的圖標,單元左側邊框線呈現出綠色,點Esc鍵或運行單元格(ctrl-enter)切換回命令模式 在命令模式(Command Mode)下,鉛筆圖標消失,單元左側邊框線呈現藍色,按Enter鍵或者雙擊cell變為編輯狀態 3、jupyter 快捷鍵: 一旦進入命令模式(即沒有活動單元格),就可以嘗試以下快捷鍵: A 鍵將在選中單元格上方插入新單元格,B 鍵將在選中單元格下方插入一個單元格 刪除單元格:先選中要刪除的單元格,然后按 X 鍵 執行單元格內容:先選中單元格,按 shift + enter 切換單元格模式:y 鍵 將 markdown 切換為 code 模式; m 鍵 將 code 切換為 markdown 模式 打開幫助文檔:shift + tab 要刪除單元格,請連續按兩次 D 鍵 要撤消已刪除的單元格,請按 Z 鍵 Y 鍵將當前的選中單元格變成代碼單元格 按住 Shift + 向上或向下箭頭鍵可以選擇多個單元格。在多選模式下,按 Shift + M 會合並選中的單元格 F 鍵會彈出 “查找和替換” 菜單 處於編輯模式時(在命令模式下按 Enter 鍵進入編輯模式),你會發現以下快捷鍵非常好用: Ctrl + Home 轉到單元格的開頭 Ctrl + S 會保存你的工作 Ctrl + Enter 將運行你的整個單元格 Alt + Enter 不僅會運行你的單元格,它還會在下方添加一個新的單元格 Ctrl + Shift + F 打開命令選項板 其他 按tab鍵查看提示信息或者補全命令 在一個庫、方法或變量前加上 ?,就可以獲得它的一個快速語法說明 使用分號可以阻止該行函數的結果輸出
目錄:
修改 jupyter notebook 默認目錄和默認瀏覽器
簡介
Jupyter Notebook(此前被稱為 IPython notebook)是一個交互式筆記本,支持運行 40 多種編程語言。
Jupyter Notebook 的本質是一個 Web 應用程序,便於創建和共享文學化程序文檔,支持實時代碼,數學方程,可視化和 markdown。 用途包括:數據清理和轉換,數值模擬,統計建模,機器學習等等
安裝與運行
1.使用Anaconda安裝
對於小白,強烈建議使用Anaconda發行版安裝Python和Jupyter,其中包括Python、Jupyter Notebook和其他常用的科學計算和數據科學軟件包。
首先,下載Anaconda。建議下載Anaconda的最新Python 3版本。其次,請按照下載頁面上的說明安裝下載的Anaconda版本。最后,安裝成功!
Anaconda是一個方便的python包管理和環境管理軟件,一般用來配置不同的項目環境。
我們常常會遇到這樣的情況,正在做的項目A和項目B分別基於python2和python3,而第電腦只能安裝一個環境,這個時候Anaconda就派上了用場,它可以創建多個互不干擾的環境,分別運行不同版本的軟件包,以達到兼容的目的。
Anaconda通過管理工具包、開發環境、Python版本,大大簡化了你的工作流程。不僅可以方便地安裝、更新、卸載工具包,而且安裝時能自動安裝相應的依賴包,同時還能使用不同的虛擬環境隔離不同要求的項目。
anaconda的安裝
windows下anaconda安裝
非常簡單,前往Anaconda官網 即可下載安裝,國內用戶可以到清華大學TUNA鏡像站下載,安裝過程中注意到這一步

其中第一項指將Anaconda的默認環境設置添加到系統環境,也就是說如果你之前安裝過python並添加到了環境,選了這一項之后原來的python會被覆蓋掉,默認使用Anaconda的默認環境。
第二項指設置Anaconda的默認環境為python3.5.
安裝完成后Anaconda會創建一個叫base的默認環境,如果你不切換到其他指定環境,就會一直在默認環境運行。
linux ubuntu系統Anaconda安裝
下載Anaconda.sh 如果無法運行的話修改一下權限
sudo chmod +x 文件名
sudo ./文件名
看完版權聲明設置完就好了
安裝完成后如果沒有加入系統環境windows需要通過Anaconda Prompt運行(anaconda prompt還有一個好處就是可以顯示圖表),如果加入系統環境變量就可以在cmd運行了
我選擇了加入系統變量,我們可以看到我的python顯示為Anaconda版
anconda使用conda作為包管理工具,也就是anaconda把一些常用的python包統一管理,可以方便的安裝、更新和卸載包。
conda常用命令
conda --version 查看conda版本
conda -V
conda --help 獲取幫助
conda -h
conda update --help
conda remove --help
--help 都可以換成-h
Anaconda環境管理

settings---project interpreter---點擊右上角設置按鈕---add local---system interpreter
接下來我們先研究單一環境下的Anaconda環境管理。
conda env --help
剛剛系統默認創建了名叫base的默認環境,我們可以使用conda命令查看當前有多少環境
conda env list 查看所有環境
或者
conda info --envs

我們可以看到只有一個base,也就是剛剛安裝的時候勾選的帶有python3.5的環境,還有一些py3的包
如果現在我需要一個python2.7的和tensorflow1.0的環境該怎么辦呢
輸入
conda create --name your_env_name
或者
conda create -n your_env_name
your_env_name 就是你新創建的環境名,你可以在里面安裝其他包但不會與現有環境沖突
如果你要在創建環境時指定包內容, 可以用
conda create -n your_env_name python=3.5
如果你要指定多個包 可以用
conda create -n your_env_name python=3.5 numpy pandas
要指定特殊版本號加上=版本號就行,默認是最新的
對了,安裝前為了保障你查詢到最新包情況,最好使用
`conda update --all 更新包信息。
例如我現在要創建一個名叫 learningpy的基於py3的環境
conda update --all
conda create -n learningpy python=3.7

系統會詢問你是否創建,輸入y回車后,系統將列出必要安裝的包
conda有一點好處是,如果你需要安裝一個包,系統將自動檢查這個包需要的前置包並且安裝,比如你要安裝TensorFlow,而TensorFlow會用到很多像前置包像pandas、matiplot等,如果你在單純的python下沒有安裝pandas等包就直接安裝TensorFlow,那么和有可能無法使用,而使用conda安裝TensorFlow將會詢問你並自動幫你把缺少的前置包安裝好
創建完新的環境我們查看環境列表
conda env list

只要你的硬盤夠大,你就可以創造很多個不同的環境
那么現在我們有多個環境了,如何切換環境呢?
windows
activate 環境名
退出時記得退出命令哦
deactivate
linux和mac用戶的命令不一樣
source source activate 環境名
source deactivate 環境名
比如我現在進入剛剛創建的learningpy環境
activate learningpy
python --verion

是不是python已經變成了3.7版本,我現在的環境已經和剛剛的環境沒有關系了~~~
一些常用命令
conda create -n your_env_name --clone oldname
刪除某個環境
conda remove -n your_env_name --all
導出環境配置(非常有用,比如你想幫朋友安裝和你一模一樣的環境,你可以直接導出一個配置文件給他,就能免除很多人力安裝調試) conda env export > environment.yml 將會在當前目錄生成一個environment.yml,你把它交給小伙伴或拷到另一台機器,小伙伴只需要對這個文件執行命令 conda env create -f environment.yml 就可以生成和你原來一模一樣的環境啦
anaconda包管理
上文我們提到了創建環境時的包管理,那么我們創建好環境后如何進行包的安裝、更新和卸載呢?
當然我們任然可以通過pip安裝更新刪除
這里我們介紹conda
conda list 列舉當前環境下的所有包
conda list -n packagename 列舉某個特定名稱包 conda install packagename 為當前環境安裝某包 conda install -n envname packagename 為某環境安裝某包 conda search packagename 搜索某包 conda updata packagename 更新當前環境某包 conda update -n envname packagename 更新某特定環境某包 conda remove packagename 刪除當前環境某包 conda remove -n envname packagename 刪除某環境環境某包
conda本身和anaconda、python本身也算包
conda update conda
conda update anaconda
conda update python
conda默認源可能速度比較慢
可以添加其他源,常用的有清華TUNA
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes 在包后面顯示來源
第三條執行安裝包時會顯示來自哪個源,一目了然

教育網用戶可以添加ipv6源,速度很快
conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes 在包后面顯示來源
anaconda實現原理解析
anaconda在目錄下的envs文件夾保存了環境配置,也就是把所有的安裝在這個環境下的包放在同一個文件夾中
當創建一個新環境時,anaconda將在envs中創建一個新的文件夾,這個文件夾包括了你安裝在這個環境中的所有包
anaconda通過巧妙的包管理解決的一個大難題,確實方便了很多。
2.使用pip命令安裝
對於有經驗的Python用戶,可以使用Python的包管理器pip而不是Anaconda 來安裝Jupyter 。
如果已經安裝了Python 3:
python3 -m pip install --upgrade pip
pi3 install jupyter
如果已經安裝了Python 2:
python2 -m pip install --upgrade pip
pip2 install jupyter
但推薦使用Anaconda,自帶了Numpy、Scipy、Matplotlib等多種python開發包和Jupyter Notebook!
3.運行Jupyter Notebook
成功安裝Jupyter Notebook后,在Terminal (Mac / Linux)或Command Prompt(Windows)中運行以下命令就可打開Jupyter Notebook

輸入 :jupyter notebook

執行上面命令之后, Jupyter Notebook 將在你的默認瀏覽器中打開,網址為:http://localhost:8888/tree
或者在開始菜單頁面直接打開

0. 幫助
如果你有任何jupyter notebook命令的疑問,可以考慮查看官方幫助文檔,命令如下:
jupyter notebook --help
或
jupyter notebook -h
1. 啟動
① 默認端口啟動
在終端中輸入以下命令:
jupyter notebook
執行命令之后,在終端中將會顯示一系列notebook的服務器信息,同時瀏覽器將會自動啟動Jupyter Notebook。
啟動過程中終端顯示內容如下:
$ 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的所有操作,都請保持終端不要關閉,因為一旦關閉終端,就會斷開與本地服務器的鏈接,你將無法在Jupyter Notebook中進行其他操作啦。
瀏覽器地址欄中默認地將會顯示:http://localhost:8888
。其中,“localhost”指的是本機,“8888”則是端口號。
URL
如果你同時啟動了多個Jupyter Notebook,由於默認端口“8888”被占用,因此地址欄中的數字將從“8888”起,每多啟動一個Jupyter Notebook數字就加1,如“8889”、“8890”……
② 指定端口啟動
如果你想自定義端口號來啟動Jupyter Notebook,可以在終端中輸入以下命令:
jupyter notebook --port <port_number>
其中,“<port_number>”是自定義端口號,直接以數字的形式寫在命令當中,數字兩邊不加尖括號“<>”。如:jupyter notebook --port 9999
,即在端口號為“9999”的服務器啟動Jupyter Notebook。
③ 啟動服務器但不打開瀏覽器
如果你只是想啟動Jupyter Notebook的服務器但不打算立刻進入到主頁面,那么就無需立刻啟動瀏覽器。在終端中輸入:
jupyter notebook --no-browser
此時,將會在終端顯示啟動的服務器信息,並在服務器啟動之后,顯示出打開瀏覽器頁面的鏈接。當你需要啟動瀏覽器頁面時,只需要復制鏈接,並粘貼在瀏覽器的地址欄中,輕按回車變轉到了你的Jupyter Notebook頁面。
例圖中由於在完成上面內容時我同時啟動了多個Jupyter Notebook,因此顯示我的“8888”端口號被占用,最終分配給我的是“8889”。
2. 快捷鍵
- 向上插入一個cell:a
- 向下插入一個cell:b
- 刪除cell:x
- 將code切換成markdown:m
- 將markdown切換成code:y
- 運行cell:shift+enter
- 查看幫助文檔:shift+tab
- 自動提示:tab
3. 魔法指令
- 運行外部python源文件:%run xxx.py
- 計算statement的運行時間:%time statement
- 計算statement的平均運行時間:%timeit statement
- 測試多行代碼的平均運行時間:
%%timeit
statement1
statement2
statement3
修改jupyter notebook的 默認目錄和默認瀏覽器
修改默認目錄
1 、找到一個用於存放config文件的文件夾,用cmd來查找路徑:
在cmd中 輸入命令 jupyter notebook --generate-config(前面是兩個-后面是一個-)
2、按照第1步找到的路徑尋找文件名是“jupyter_notebook_config.py”的一個文件
3、用notebook打開該文件,修改
“# The directory to use for notebooks and kernels.”下面的
“# c.NotebookApp.notebook_dir = ''”為
“c.NotebookApp.notebook_dir = '指定的工作路徑'”(注意將#號刪除)
然后重啟一下jupyter nootbook,默認路徑確實更改了
修改默認瀏覽器
在c.NotebookApp.browser=''之后加上(注意自己的chrome路徑)
import webbrowser
webbrowser.register("chrome", None, webbrowser.GenericBrowser(u"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"))
c.NotebookApp.browser = 'chrome'
主面板(Notebook Dashboard)

打開Notebook,可以看到主面板。在菜單欄中有Files(文件)、Running(運行)、Clusters(集群)、三個選項。用到最多的是Files,我們可以在這里完成notebook的新建、重命名、復制等操作。
Files 基本上列出了所有的文件,
Running 顯示你當前已經打開的終端和Notebooks,
Clusters 由 IPython parallel 包提供,用於並行計算。
要打開一個新的 Jupyter Notebook,請單擊頁面右側的“New”選項卡。在這里,你有四個選項可供選擇:
⦁ Python 3
⦁ Text File (文本文件)
⦁ Folder (文件夾)
⦁ Terminal (終端)
在 "Text File" 選項中,你會得到一個空白的文檔。輸入你喜歡的任何字母,單詞和數字。它基本上是一個文本編輯器(類似於 Ubuntu 上的應用程序)。你也可以選擇一種語言(支持非常多的語言),然后用該語言來寫一個腳本。你還可以查找和替換文件中的單詞。
在 "Folder" 選項中, 顧名思義它的功能就是創建文件夾。你可以創建一個新文件夾來放入文件,重新命名或者刪除它。
"Terminal" 的工作方式與你的 Mac 電腦或 Linux 電腦上的終端完全相同(或者 Windows 上的 cmd )。它在你的Web瀏覽器中支持終端會話。在這個終端中輸入 python ,瞧!現在你已經可以開始寫 python 腳本了。
創建python文件
從“New”選項中選擇 "Python 3" 選項。你會看到如下的截圖:

代碼上方的菜單欄提供了操作單元格的各種選項:
insert (添加),edit (編輯),cut (剪切),move cell up/down (上下移動單元格),run cells(在單元格中運行代碼),interupt (停止代碼),save (保存工作),以及 restart (重新啟動內核)

在下拉菜單中(如上所示),你有四個選項:
Code - 這是你輸入代碼的地方
Markdown - 這是你輸入文本的地方。你可以在運行代碼后添加結論,添加注釋等。
Raw NBConvert - 這是一個命令行工具,可將你的筆記本轉換為另一種格式(如 HTML)
Heading - 你可以將標題添加到單獨的小節並使你的 Notebook 看起來干凈整潔。這個選項現在已經集成到 Markdown 選項中。添加一個“##”,以確保在你之后輸入的內容將被視為標題
編輯界面
一個notebook的編輯界面主要由四部分組成:名稱、菜單欄、工具條以及單元(Cell),如下圖所示:

1.在這里,我們可以修改notebook的名字,直接點擊當前名稱,彈出對話框進行修改:

2.菜單欄詳解
2.1 File

2.2 Edit

2.3 View

2.4 Insert

2.5 Cell

2.6 Kernel

2.7 Help

3. 工具條
工具條中的功能基本上在菜單中都可以實現,這里是為了能更快捷的操作,將一些常用按鈕放了出來。下圖是對各按鈕的解釋

4 .單元(Cell)
在單元中我們可以編輯文字、編寫代碼、繪制圖片等等。對於單元的詳細內容放在第五節中介紹。
單元(Cell)
1.兩種模式與快捷鍵
對於Notebook中的單元,有兩種模式:命令模式(Command Mode)與編輯模式(Edit Mode),在不同模式下我們可以進行不同的操作

如上圖,在編輯模式(Edit Mode)下,右上角出現一只鉛筆的圖標,單元左側邊框線呈現出綠色,點Esc鍵或運行單元格(ctrl-enter)切換回命令模式。

在命令模式(Command Mode)下,鉛筆圖標消失,單元左側邊框線呈現藍色,按Enter鍵或者雙擊cell變為編輯狀態。
2 .Cell的四種功能

Cell有四種功能:Code、Markdown、Raw NBConvert、Heading,這四種功能可以互相切換。Code用於寫代碼,Markdown用於文本編輯,Raw NBConvert中的文字或代碼等都不會被運行,Heading是用於設置標題的,這個功能已經包含在Markdown中了。四種功能的切換可以使用快捷鍵或者工具條
Markdown用於編輯文本,給出常用的Markdown用法

快捷鍵
一旦進入命令模式(即沒有活動單元格),就可以嘗試以下快捷鍵:
A 鍵將在選中單元格上方插入新單元格,B 鍵將在選中單元格下方插入一個單元格
要刪除單元格,請連續按兩次 D 鍵
要撤消已刪除的單元格,請按 Z 鍵
Y 鍵將當前的選中單元格變成代碼單元格
按住 Shift + 向上或向下箭頭鍵可以選擇多個單元格。在多選模式下,按 Shift + M 會合並選中的單元格
F 鍵會彈出 “查找和替換” 菜單
處於編輯模式時(在命令模式下按 Enter 鍵進入編輯模式),你會發現以下快捷鍵非常好用:
Ctrl + Home 轉到單元格的開頭
Ctrl + S 會保存你的工作
和上面提過的一樣,Ctrl + Enter 將運行你的整個單元格
Alt + Enter 不僅會運行你的單元格,它還會在下方添加一個新的單元格
Ctrl + Shift + F 打開命令選項板
其他
按tab鍵查看提示信息或者補全命令
在一個庫、方法或變量前加上 ?,就可以獲得它的一個快速語法說明
使用分號可以阻止該行函數的結果輸出
有用的 Jupyter Notebooks 擴展
擴展可以有效提高你的 Jupyter Notebooks 的生產力。安裝和使用擴展的最佳工具之一是 Nbextensions。它需要兩個簡單的步驟來安裝(也有其他方法,但我發現這是最方便的):
第1步:用 pip 來安裝它:
pip install jupyter_contrib_nbextensions
第2步:安裝關聯的 JavaScript 和 CSS 文件
jupyter contrib nbextension install --user
完成此操作后,你會在 Jupyter Notebook 主頁頂部看到一個 Nbextensions 選項卡。這里面有很多非常棒的擴展供你使用

要啟用一個擴展,只需點擊它來激活。我在下面提到了4個我認為最有用的擴展:
Code prettify:重新格式化和美化代碼塊的內容
Printview:這個擴展添加了一個工具欄按鈕來調用當前 Notebook 的 jupyter nbconvert,並可選擇在新的瀏覽器標簽中顯示轉換后的文件
Scratchpad:這個擴展增加一個便捷單元格,它可以讓你運行你的代碼而不必修改你的 Notebook。這是一個非常方便的擴展,特別是當你想要測試你的代碼,但不想在你的活動Notebook上做這件事。
Table of Contents (2):這個擴展可以收集你的 Notebook 中的所有標題,並將它們顯示在一個浮動窗口中
保存和共享你的 Notebook
這是 Jupyter Notebook 中最重要和最棒的功能之一。當我需要寫博客文章,但我的代碼和注釋都保存在 Jupyter 文件中時,我需要先將它們轉換為另一種格式。請記住,這些 Notebooks 采用 json 格式,在共享它時這並不是很有幫助。我無法在電子郵件或博客上發布不同的單元格或代碼塊,對吧?
進入 Files 菜單,你會看到一個 Download As 選項:

你可以將你的 Notebook 保存為 7 個選項中的任何一個。最常用的是 .ipynb 文件,這樣其他人就可以在自己的機器上復制代碼;或者保存為 .html 文件, 這樣會打開一個網頁(當你想要保存嵌入在 Notebook 中的圖像時,這會派上用場)
你也可以使用 nbconvert 選項手動將你的 Notebook 轉換為不同的格式,如 HTML 或 PDF。
你還可以使用 jupyterhub,它允許你在其服務器上托管 Notebooks 並與多個用戶共享。許多頂尖的研究項目都使用這個功能用於協作。
最佳實踐
雖然單獨工作可能很有趣, 但大多數時候你會發現自己是在一個團隊中工作。在這種情況下,遵循指導方針和最佳實踐非常重要,這樣可以確保你的代碼和 Jupyter Notebooks 被正確標注,以便與你的團隊成員保持一致。下面我列出了一些最佳實踐指南,你在 Jupyter Notebooks 上工作時一定要遵循以下指南:
對於任何程序員來說最重要的事情之一:始終確保為代碼添加合適的注釋!
確保你有代碼所需的文檔。
考慮一個命名方案,並堅持在所有代碼中使用以確保一致性。這樣其他人更容易讀懂你的代碼。
無論你需要什么庫,在 Notebooks 開始時導入它們(並在它們旁邊添加注釋,說明導入它們的目的)。
確保代碼中行與行之間有適當間隔,不要把循環和函數放在同一行中。
有時候你會發現你的文件變得非常繁重。看看有沒有方法隱藏你認為對於以后參考不太重要的代碼。 Notebooks 看起來整潔干凈, 讓人賞心悅目也非常重要。
Matplotlib 可以很漂亮整潔地展示你的 Notebook,看看怎么使用它!
地址:http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb
另一個提示! 當你想創建演示文稿時,首先想到的工具是 PowerPoint 和 Google Slides。其實你的 Jupyter Notebooks 也可以創建幻燈片!還記得我說它超級靈活嗎? 我一點都沒有誇大。
要將你的 Notebooks 轉換為幻燈片,請轉到 View -> Cell Toolbar,然后單擊 Slideshow。看!現在,每個代碼塊都在右側顯示一個 Slide Type 的下拉選項。它提供了以下 5 個選項:
