免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Jupyter Notebook/Lab 核心技巧:從安裝配置到高效調(diào)試實(shí)戰(zhàn)

Jupyter Notebook/Lab 核心技巧:從安裝配置到高效調(diào)試實(shí)戰(zhàn) 很多人在用 Jupyter Notebook 和 JupyterLab 時(shí)其實(shí)只把它當(dāng)成了一個(gè)帶執(zhí)行的草稿紙寫一段代碼按下 ShiftEnter看到結(jié)果完事。這個(gè)用法不能說錯(cuò)但遠(yuǎn)遠(yuǎn)低估了 Jupyter 家族能解決的問題。作為一個(gè)日常拿它寫分析、做演示、甚至搭內(nèi)部小工具的人我今天想把這些年踩過的坑和沉淀下來的技巧一次性梳理出來從安裝環(huán)境、路徑權(quán)限到長(zhǎng)文檔導(dǎo)航、魔法命令和調(diào)試器再到導(dǎo)出和分享的邊界問題都盡量講透。如果你是剛?cè)腴T的小白這篇文章能幫你少走一半冤枉路如果你已經(jīng)用了很久但總覺得卡手里面不少細(xì)節(jié)大概率是你沒注意過的。核心關(guān)鍵詞只有一個(gè)——Jupyter Notebook/Lab 使用技巧我把重心放在“實(shí)際按下鍵盤之后會(huì)發(fā)生什么”上盡量不談空泛的概念。1. 別急著裝完就跑安裝、啟動(dòng)與路徑選擇里的坑1.1 用對(duì)安裝方式才不糟蹋你的 Python 環(huán)境第一次按網(wǎng)上的教程裝 Jupyter 時(shí)最常見的操作就是打開終端輸入pip install jupyter然后等它慢慢裝。如果用的是系統(tǒng)自帶的 Python尤其是 macOS/Linux 上這一步很容易埋雷系統(tǒng)環(huán)境里已經(jīng)有一堆依賴pip裝的時(shí)候又不敢亂動(dòng)權(quán)限最后要么裝上去了啟動(dòng)報(bào)錯(cuò)要么把系統(tǒng)的 Python 搞亂。我的建議是優(yōu)先用 Anaconda 或者 Miniconda 建一個(gè)獨(dú)立環(huán)境再裝。比如conda create -n jupyter_env python3.11 conda activate jupyter_env pip install jupyterlab notebook這樣做的核心原因不是潔癖而是 Jupyter 的內(nèi)核機(jī)制。Jupyter 本身只是一個(gè) Web 前端真正跑代碼的是一個(gè)“內(nèi)核”要是一個(gè)筆記本文件記錄的內(nèi)核和你當(dāng)前激活的環(huán)境對(duì)不上啟動(dòng)時(shí)最大的表現(xiàn)就是報(bào)錯(cuò)、無響應(yīng)、或者找不到包。獨(dú)立環(huán)境能讓你隨時(shí)重建、隨時(shí)扔掉不會(huì)影響你干其他活。當(dāng)然如果你對(duì) conda 無感用python -m venv也一樣python -m venv jupyter_venv source jupyter_venv/bin/activate # Windows 下是 Scripts\activate pip install notebook jupyterlab裝完之后直接在終端敲jupyter lab或jupyter notebook瀏覽器會(huì)自動(dòng)彈出。要是沒彈出終端里會(huì)打印一個(gè)帶 token 的 URL手動(dòng)復(fù)制到瀏覽器即可這就涉及下面要說到的登錄入口問題。1.2 啟動(dòng)失敗和 PermissionError 究竟卡在哪熱詞里有個(gè)很典型的報(bào)錯(cuò)permissionerror:[errno 13] permission denied。我在各個(gè)群里見過不下三四十次大部分場(chǎng)景都是在 Linux 服務(wù)器或者 macOS 上敲了jupyter notebook結(jié)果提示這個(gè)錯(cuò)誤一臉懵。這個(gè)錯(cuò)誤的本意是“當(dāng)前用戶沒有權(quán)限訪問某個(gè)文件或目錄”。在 Jupyter 語境下最常涉及兩處一處是配置文件目錄通常叫.jupyter在用戶主目錄下。Jupyter 啟動(dòng)時(shí)會(huì)往里面讀寫history.sqlite、runtime等文件。如果這個(gè)目錄的屬主不是你或者之前用sudo啟動(dòng)過導(dǎo)致文件屬主變成了root后面再用普通用戶啟動(dòng)就會(huì)撞上 PermissionError。另一處是運(yùn)行時(shí)創(chuàng)建的runtime目錄默認(rèn)在~/.local/share/jupyter/runtime或者/tmp/jupyter-runtime附近。某些服務(wù)器會(huì)把/tmp權(quán)限鎖得很緊或者掛載的/home分區(qū)有noexec/ 限制寫入的選項(xiàng)也會(huì)導(dǎo)致類似報(bào)錯(cuò)。排查思路比直接給命令更重要。先找到 Jupyter 認(rèn)為自己的工作目錄在哪運(yùn)行jupyter --config-dir jupyter --runtime-dir然后對(duì)照著看ls -ld ~/.jupyter ls -ld $(jupyter --runtime-dir)如果是屬主問題直接sudo chown -R $USER:$USER ~/.jupyter如果是/tmp被限制了就顯式指定一個(gè)可寫的運(yùn)行目錄export JUPYTER_RUNTIME_DIR$HOME/.jupyter/runtime jupyter notebook同樣配置目錄也可以就近遷移export JUPYTER_CONFIG_DIR$HOME/.config/jupyter這套方法在服務(wù)器上尤其好用畢竟不是所有機(jī)器都讓你隨便sudo。1.3 默認(rèn)保存路徑和下載文件最終去哪了另一個(gè)高頻熱搜是“jupyter notebook 默認(rèn)保存路徑”和“使用 jupyter 下載的文件默認(rèn)安置在哪”。先搞清楚一個(gè)概念在瀏覽器里點(diǎn)Download下載的.ipynb文件走的是瀏覽器自身的下載邏輯存到哪里由瀏覽器的設(shè)置決定跟 Jupyter 無關(guān)。所以有人發(fā)現(xiàn)默認(rèn)下載到了~/Downloads那不是 Jupyter 管的。但是如果你在 notebook 里用 Python 代碼寫文件比如with open(out.txt, w, encodingutf-8) as f: f.write(hello)這個(gè)文件會(huì)出現(xiàn)在“當(dāng)前工作目錄”下也就是 notebook 文件所在的目錄。因?yàn)?Jupyter 啟動(dòng)后會(huì)把 notebook 所在目錄作為當(dāng)前目錄而open()的相對(duì)路徑就是相對(duì)于這個(gè)目錄的。那默認(rèn)保存路徑怎么改最干凈的做法是在啟動(dòng)前就指定jupyter notebook --notebook-dir/path/to/your/projects可以把--notebook-dir寫進(jìn)啟動(dòng)目錄的快捷方式或別名里alias jnjupyter notebook --notebook-dir$HOME/projects更一勞永逸的是修改配置文件jupyter notebook --generate-config打開生成的~/.jupyter/jupyter_notebook_config.py找到這一段# c.ServerApp.root_dir 改成你的目標(biāo)目錄c.ServerApp.root_dir /home/me/projects注意老版本里變量名可能是c.NotebookApp.notebook_dir新版本已經(jīng)遷移到ServerApp。版本差異是這里最搞人的點(diǎn)遇到修改后不生效先查一下你現(xiàn)在裝的版本和對(duì)應(yīng)的配置項(xiàng)名。2. 在 Notebook 和 Lab 之間怎么選不是升級(jí)換代那么簡(jiǎn)單2.1 Notebook 的老派優(yōu)雅與掣肘Jupyter Notebook也就是經(jīng)典版的界面是“一個(gè)頁面里上下排列多個(gè)單元格”雖然簡(jiǎn)單但用了很多年后你會(huì)很明顯地感受到它的限制整個(gè)頁面只有一個(gè)視圖沒法同時(shí)看兩個(gè) notebook每個(gè)文件單獨(dú)占一個(gè)標(biāo)簽頁一旦開得多標(biāo)簽頁密密麻麻拖拽單元格換位置在單個(gè)文檔里還可以跨文檔基本叫天天不應(yīng)。Notebook 的好處是它老插件生態(tài)成熟。jupyter_contrib_nbextensions里一大堆經(jīng)典擴(kuò)展比如代碼折疊、目錄、高亮選中的變量、自動(dòng)格式化等等都只在 Notebook 界面里比較順手。如果你的主力機(jī)器還在跑老項(xiàng)目那么新版 JupyterLab 往往無法直接復(fù)用這些 nbextensions。2.2 Lab 補(bǔ)齊了什么切換成本又有多高JupyterLab 從設(shè)計(jì)之初就奔著“集成開發(fā)環(huán)境”去文件列表在左邊主區(qū)域可以開多個(gè)窗口支持拖拽布局同一個(gè)瀏覽器窗口里同時(shí)排兩個(gè)筆記本毫無壓力。它還統(tǒng)一了很多之前要單獨(dú)裝的東西多語言支持、命令面板CtrlShiftC 呼出以及內(nèi)置的表格查看器、CSV 預(yù)覽等。切換成本不是我一開始想得那么低。比如原先在 Notebook 里靠 nbextensions 開啟的“目錄”功能在 Lab 里需要單獨(dú)裝jupyterlab/toc新版本甚至已經(jīng)內(nèi)置為右側(cè)的 Outline 按鈕。還有一些自定義的 nbextensions 在 Lab 里完全不認(rèn)只能等作者出 Lab 插件版本有的等了兩三年都沒消息。所以我的個(gè)人建議是如果你主要做數(shù)據(jù)分析不太依賴?yán)喜寮苯由?Lab如果維護(hù)的是三年前的 notebook 文件而且經(jīng)常要用老擴(kuò)展那就老老實(shí)實(shí)繼續(xù)用 Notebook或者兩個(gè)都裝用哪種界面取決于當(dāng)時(shí)的任務(wù)。2.3 多標(biāo)簽、文件樹、單元格拖拽實(shí)測(cè)在 Lab 里拖拽單元格比想象中順手。你先在左側(cè)文件樹點(diǎn)擊文件名打開兩個(gè) notebook然后在任意一個(gè) notebook 里選中若干單元格Shift點(diǎn)擊可以多選直接拖到另一個(gè) notebook 的目標(biāo)位置。這個(gè)操作在 Notebook 里是做不到的除非你 CtrlX、CtrlV 跨頁面復(fù)制再手動(dòng)修一下代碼里的狀態(tài)。文件樹的支持也算一個(gè)決定性差異。在 Lab 里可以直接用右鍵菜單對(duì)文件做重命名、移動(dòng)、新建文件夾甚至打開一個(gè)臨時(shí)終端日常文件操作就省得跳出瀏覽器了??旖萱I體系兩個(gè)界面基本一致。熟悉的核心組合ShiftEnter運(yùn)行單元格并選中/跳到下一個(gè)CtrlEnter只運(yùn)行當(dāng)前單元格A在上方插入B在下方插入D D連續(xù)按兩次 D 刪除單元格M進(jìn)入 Markdown 狀態(tài)Y切回 Code 狀態(tài)我建議所有用戶把這幾個(gè)刻進(jìn)肌肉記憶比點(diǎn)鼠標(biāo)效率高出一個(gè)量級(jí)。3. 讓目錄樹滾起來長(zhǎng)文檔導(dǎo)航方案實(shí)測(cè)3.1 裝插件前先搞清你用的是哪個(gè)環(huán)境“為 jupyter notebook 添加目錄”是永久熱搜。很多人遇到的尷尬是明明在網(wǎng)上搜到pip install jupyter_contrib_nbextensions裝完也執(zhí)行了 enable但打開 Notebook 還是看不到目錄。最常見原因是你裝了插件 A但 Jupyter 跑的是另一個(gè)環(huán)境的內(nèi)核。確認(rèn)環(huán)境一致性最直接的方法which jupyter jupyter --version pip list | grep nbextensions確保這三者指向同一個(gè) Python 環(huán)境。尤其是當(dāng)你用 conda 激活了環(huán)境但終端里的jupyter還是指向另一個(gè)路徑時(shí)插件安裝到哪里去了根本說不清。這時(shí)候要么老老實(shí)實(shí)把jupyter重裝到當(dāng)前環(huán)境要么用python -m jupyter notebook來強(qiáng)制走當(dāng)前解釋器。3.2 兩種主流目錄插件配置與對(duì)比在 Notebook 界面主流方案是jupyter_contrib_nbextensions提供的Table of Contents (2)也叫toc2。安裝過程pip install jupyter_contrib_nbextensions jupyter contrib nbextension install --user jupyter nbextension enable toc2/main裝好后重啟 Notebook在“Nbextensions”配置頁面里找到Table of Contents (2)勾選上。它會(huì)視情況在工具欄上多一個(gè)目錄按鈕同時(shí)給 Markdown 標(biāo)題生成錨點(diǎn)。在 Lab 界面新版默認(rèn)自帶 Outline入口在右側(cè)側(cè)邊欄的書簽圖標(biāo)下方。如果你用的版本比較老可以手動(dòng)裝pip install jupyterlab jupyter labextension install jupyterlab/toc對(duì)比一下兩者體驗(yàn)功能Notebook toc2Lab Outline實(shí)時(shí)定位點(diǎn)擊目錄跳轉(zhuǎn)點(diǎn)擊目錄跳轉(zhuǎn)標(biāo)題層級(jí)折疊支持支持跟隨滾動(dòng)高亮部分版本支持支持較好與代碼塊協(xié)作僅 Markdown 標(biāo)題支持 Markdown 和代碼單元格大綱拖拽調(diào)整窗口否是我自己的實(shí)測(cè)感受是如果你只是需要一個(gè)簡(jiǎn)單的導(dǎo)航Lab 自帶 Outline 反而更干凈但老牌 toc2 可以和“折疊代碼”等 nbextensions 協(xié)同習(xí)慣后其實(shí)非常好用。3.3 目錄/折疊/大綱的一體化用法光有目錄還不夠?qū)嶋H閱讀體驗(yàn)要配合代碼折疊。在 Notebook 里Codefolding是 nbextensions 里非常受歡迎的一個(gè)擴(kuò)展點(diǎn)擊代碼單元格左側(cè)的小箭頭即可對(duì)函數(shù)體、類體或if塊進(jìn)行折疊。這個(gè)功能長(zhǎng) notebook 里特別有用尤其當(dāng)你只關(guān)心某個(gè)函數(shù)的位置時(shí)折疊掉 80% 的代碼配合目錄整個(gè)文檔的可視性會(huì)大幅提升。另外一個(gè)小技巧Markdown 標(biāo)題順序要及時(shí)更新。目錄本身是讀取 notebook 的元數(shù)據(jù)來生成的如果你在單元格里刪改了很多標(biāo)題位置最好先保存文件再刷新一下目錄避免跳轉(zhuǎn)目標(biāo)錯(cuò)亂。在 toc2 里還有一個(gè)小齒輪可以設(shè)置“標(biāo)題編號(hào)”、“超鏈接跳轉(zhuǎn)”等選項(xiàng)。我一般會(huì)開啟“標(biāo)題編號(hào)”這樣段落之間有層級(jí)感導(dǎo)出成 PDF 或者 HTML 時(shí)也更專業(yè)。在 Lab 里Outline 支持搜索過濾直接鍵入標(biāo)題關(guān)鍵字可以快速定位到長(zhǎng)文中某個(gè)章節(jié)。對(duì)于動(dòng)不動(dòng)幾百個(gè)單元格的報(bào)告型 notebook這個(gè)功能我?guī)缀趺刻於紩?huì)用到。4. 魔法命令與交互模式真正提升日常效率的十來個(gè)玩法4.1 把時(shí)間測(cè)出來%time 和 %%time 的差別很多人不知道 Jupyter 里自帶“魔法命令”以百分號(hào)開頭的指令。最開始值得記住的是%time和%%time。區(qū)別很直接%time只測(cè)量這一行的代碼耗時(shí)%%time測(cè)量整個(gè)單元格的耗時(shí)%time sum(range(10_000_000))%%time total 0 for i in range(10_000_000): total i使用場(chǎng)景是當(dāng)你在兩個(gè)寫法之間猶豫時(shí)別靠猜跑一遍%%time比什么都有說服力。如果你想知道更精細(xì)的差異還有%%timeit它會(huì)自動(dòng)把代碼執(zhí)行很多次然后取平均適合對(duì)微性能敏感的項(xiàng)目。4.2 自動(dòng)重載模塊、一鍵運(yùn)行任意代碼串在 notebook 里開發(fā)自己的 Python 模塊時(shí)最痛苦的一件事是改了.py文件再重新導(dǎo)入模塊不會(huì)自動(dòng)更新。解決方案不是importlib.reload一遍遍手工來而是用內(nèi)置的自動(dòng)重載%load_ext autoreload %autoreload 2開了%autoreload 2之后只要.py文件的代碼發(fā)生變化運(yùn)行任意單元格前 Jupyter 會(huì)先自動(dòng)重新加載這些模塊。這幾乎是本地開發(fā)一個(gè)包時(shí)的標(biāo)配省掉的“重啟內(nèi)核”時(shí)間不計(jì)其數(shù)。注意%autoreload 1只對(duì)%aimport指定的模塊生效一般不如 2 來得省心。還有一個(gè)很有用的命令是%run它可以運(yùn)行一個(gè) Python 腳本并把腳本執(zhí)行后的命名空間留在當(dāng)前內(nèi)核里%run myscript.py如果你有一個(gè)生成的.py文件想看看里面的變量結(jié)果又不想復(fù)制粘貼這個(gè)命令非常合適。相反%load可以把一個(gè)文件內(nèi)容直接加載到當(dāng)前單元格%load myscript.py這適合你想拆解別人的腳本加載進(jìn)來后手動(dòng)調(diào)整再執(zhí)行。4.3 魔改輸出顯示%config 與裝飾器的結(jié)合Jupyter 的顯示系統(tǒng)遠(yuǎn)比 print 豐富。我最常用的是IPython.displayfrom IPython.display import display, HTML, Markdown, Image, Video display(HTML(tabletrtdA/tdtdB/td/tr/table)) display(Markdown(### 這是一個(gè)三級(jí)標(biāo)題)) display(Image(filenameplot.png))對(duì)于 DataFrameJupyter 會(huì)自動(dòng)渲染成可滾動(dòng)的表格但如果你希望控制 pandas 顯示的行數(shù)和列數(shù)可以這樣%config ZMQInteractiveShell.ast_node_interactivity all這是一個(gè)被低估的配置在普通 Python 里一行表達(dá)式只有最后一個(gè)會(huì)被輸出而在 Jupyter 里加上這個(gè)配置后單元格內(nèi)所有能求值的表達(dá)式都會(huì)顯示出來不需要一個(gè)個(gè)寫display。類似地可以限制 DataFrame 顯示import pandas as pd pd.set_option(display.max_rows, 100) pd.set_option(display.max_columns, 50)還可以通過interact創(chuàng)建交互控件這是 IPython widgets 的入口。簡(jiǎn)單示例from ipywidgets import interact interact(x(-10, 10, 1)) def f(x): return x ** 2運(yùn)行后會(huì)生成一個(gè)滑動(dòng)條調(diào)節(jié)參數(shù)立即重新執(zhí)行函數(shù)。這在做參數(shù)探索時(shí)很有用比如調(diào)整繪圖窗口大小、過濾閾值等親測(cè)能省大量“改參數(shù)重跑”的無聊循環(huán)。5. 排錯(cuò)和調(diào)代碼那些讓人抓狂的異常與診斷技巧5.1 內(nèi)核死了別慌先查這四類問題在 Jupyter 里你可能會(huì)遇到Kernel Restarting或者“The kernel appears to have died”這類提示。內(nèi)核崩了最直接的影響是之前定義的變量全部丟失只能重跑一遍。按照經(jīng)驗(yàn)八成原因逃不開四種無限遞歸或死循環(huán)占滿了 CPU 和內(nèi)存。一次性分配超大數(shù)組比如numpy.arange(10**12)瞬間把內(nèi)存打滿。C 擴(kuò)展段錯(cuò)誤例如某個(gè)庫(kù)底層用了 ctypes 且指針寫壞。多線程/多進(jìn)程管理不當(dāng)比如在 fork 之后調(diào)用了某些非線程安全的庫(kù)。應(yīng)對(duì)手段是分級(jí)排查。先看任務(wù)管理器或top確認(rèn)是不是內(nèi)存爆了。如果只是死循環(huán)可以用菜單里的Interrupt Kernel快捷鍵是I I中斷執(zhí)行。如果已經(jīng)完全卡死那就只能重啟內(nèi)核但注意重啟前把還熱乎的結(jié)果手動(dòng)保存因?yàn)檩敵鼍彌_區(qū)不一定來得及寫盤。5.2 調(diào)試器的三種打開姿勢(shì)pdb、%debug、ipdb代碼報(bào)錯(cuò)后最常見的動(dòng)作是看 traceback然后一頭扎進(jìn)代碼里加 print。但 Jupyter 其實(shí)給了三套調(diào)試姿勢(shì)效率完全不同。第一種直接在異常之后執(zhí)行%debugdef buggy(): x 1 return x / 0 buggy()報(bào)錯(cuò)后在下一個(gè)單元格輸入%debug會(huì)自動(dòng)進(jìn)入事后調(diào)試模式停在出錯(cuò)的位置。這個(gè)時(shí)候你能做的是p x查看局部變量、u/d切換上下幀、n單步、c繼續(xù)、q退出。第二種是主動(dòng)在函數(shù)里加斷點(diǎn)使用IPython.core.debugger的set_tracefrom IPython.core.debugger import set_trace def func(): a 1 set_trace() # 運(yùn)行到這里會(huì)進(jìn)入交互調(diào)試界面 b 2 return a b第三種是ipdb它是把 IPython 的能力和pdb結(jié)合起來的工具pip install ipdb然后在代碼里import ipdb; ipdb.set_trace()在 Notebook 中的體驗(yàn)比純pdb好支持 Tab 補(bǔ)全和彩色輸出。說實(shí)話一旦習(xí)慣了用%debug事后復(fù)盤就再也不想從頭加 print 再去猜了。5.3 日志、打印、變量探查三板斧調(diào)試不僅靠斷點(diǎn)還靠對(duì)變量的快速探查。三個(gè)林林總總的函數(shù)建議背下來type(obj)看類型vars(obj)看對(duì)象屬性字典dir(obj)看對(duì)象可用的屬性/方法列表尤其是dir(pd.DataFrame)這樣的用法比翻文檔還快。配合 helphelp(df.groupby)或者df.groupby?這是 Jupyter 特有的“object? 顯示文檔、object?? 顯示源碼”的便捷查詢。關(guān)于日志我長(zhǎng)期吐槽在 notebook 里只靠print做記錄效率太低。更推薦專門開一個(gè)單元配置 logging輸出到文件import logging logging.basicConfig( filename./my_jupyter.log, levellogging.INFO, format%(asctime)s %(levelname)s %(message)s, ) logger logging.getLogger(__name__) logger.info(這一步跑到了參數(shù): %s, param)這樣對(duì)環(huán)境進(jìn)行異常分析時(shí)至少不會(huì)因?yàn)槟硞€(gè)輸出單元格被誤刪而痛失線索。5.4 PermissionError 完整排查鏈路既然前面提到了 PermissionError這里專門放一條完整的排查鏈路方便直接照做先在當(dāng)前環(huán)境里確認(rèn)是不是只有 Jupyter 報(bào)錯(cuò)還是所有用戶目錄都寫不進(jìn)去。執(zhí)行touch ~/.jupyter/write_test rm ~/.jupyter/write_test如果這一步也報(bào)錯(cuò)那就是主目錄權(quán)限本身的問題檢查~的屬主和權(quán)限。如果寫用戶目錄沒問題再查 runtime 目錄jupyter --runtime-dir ls -ld $(jupyter --runtime-dir)runtime目錄下的文件要求只能是當(dāng)前用戶可寫如果發(fā)現(xiàn)一些 root 屬主的僵尸文件清空后重新啟動(dòng)。如果是在服務(wù)器上被 SELinux 或 AppArmor 限制那需要看具體的審計(jì)日志dmesg | tail -n 20里常有線索。優(yōu)先考慮把 Jupyter 的數(shù)據(jù)目錄放到用戶自己的設(shè)定路徑下繞開限制目錄。最后一個(gè)兜底方案新建一個(gè)專用目錄并從零配置mkdir -p ~/jupyter_data cd ~/jupyter_data jupyter notebook --notebook-dir$PWD如果這樣還報(bào)錯(cuò)那就說明問題不在 Jupyter 本身需要去查終端里實(shí)際運(yùn)行命令的用戶身份是不是你想的那個(gè)人。有時(shí)候你用某云服務(wù)器的默認(rèn)賬號(hào)登錄但 Web 界面綁定的端口啟動(dòng)腳本是另一個(gè)服務(wù)賬號(hào)自然對(duì)某些路徑?jīng)]有寫權(quán)限。6. 分享與復(fù)用導(dǎo)出、部署、插件生態(tài)里值得留意的細(xì)節(jié)6.1 導(dǎo)出為 md/PDF/HTML 時(shí)的邊界問題在 LaTeX 和 pandoc 都安裝好的環(huán)境下Jupyter 支持直接把 notebook 導(dǎo)出成 PDF、HTML、Markdown 等格式。命令行對(duì)應(yīng)是jupyter nbconvert --to markdown my_nb.ipynb jupyter nbconvert --to html my_nb.ipynb jupyter nbconvert --to pdf my_nb.ipynb但導(dǎo)出看著簡(jiǎn)單坑不少。默認(rèn)情況下nbconvert 會(huì)保留所有的代碼輸出包括那些非常長(zhǎng)的 DataFrame 表格、動(dòng)態(tài)圖片、甚至報(bào)錯(cuò)信息。分享給別人的時(shí)候這些輸出往往是噪音。解決方案是先清理輸出再導(dǎo)出jupyter nbconvert --clear-output --to markdown my_nb.ipynb如果你想把 notebook 當(dāng)作一份報(bào)告發(fā)給團(tuán)隊(duì)參考我經(jīng)常用jupyter nbconvert --to html --template full --no-input my_nb.ipynb--no-input的意思是不渲染代碼單元格只保留輸出結(jié)果和 Markdown觀感更像一份報(bào)表。6.2 別人給的文件怎么快速?gòu)?fù)現(xiàn)requirements、npm 依賴拿到別人的.ipynb最怕的就是運(yùn)行到一半報(bào)ModuleNotFoundError。要讓 notebook 可復(fù)現(xiàn)可不能只發(fā).ipynb文件至少得帶上環(huán)境說明。我在每次分享 notebook 項(xiàng)目時(shí)都會(huì)在同一目錄下生成兩份文件pip freeze requirements.txt jupyter nbextension list extensions.txtrequirements.txt記錄 Python 包extensions.txt記錄 Jupyter 前端插件。不要嫌它們繁瑣這是能救命的“安全網(wǎng)”。如果有人明確都是 Lab 用戶還需要注意jupyter labextension list因?yàn)榍岸藬U(kuò)展不在pip freeze范圍內(nèi)。在復(fù)現(xiàn)別人 notebook 時(shí)強(qiáng)烈建議開一個(gè)全新的干凈環(huán)境而不是往現(xiàn)有的原環(huán)境里硬塞包。沖突了很難排查而且也能逼著對(duì)方把依賴說明白。常見順序conda create -n reproduction python3.11 conda activate reproduction pip install -r requirements.txt jupyter notebook my_nb.ipynb6.3 用 Jupyter 寫小系統(tǒng)的擴(kuò)展思路最后一個(gè)環(huán)節(jié)聊聊怎么在 notebook 基礎(chǔ)上再往前走一步。我發(fā)現(xiàn)不少人辛辛苦苦在 notebook 里調(diào)通了數(shù)據(jù)處理流程但每當(dāng)要把它變成可復(fù)用工具時(shí)就犯難。這里有一個(gè)比較順手的做法把 notebook 里穩(wěn)定不變的邏輯抽成一個(gè).py模塊然后在 notebook 里用%autoreload調(diào)用這個(gè)模塊。這樣既能享受 notebook 的交互性和可視化又保住了模塊化工程的可維護(hù)性。如果你想直接給非技術(shù)同事一個(gè)交互界面可以試一下 Voila 我提這個(gè)不是廣告是它確實(shí)解決了從 notebook 到 Web 面板的最后一公里。它能把 notebook 里的可視化輸出、交互控件包裝成一個(gè)臨時(shí)網(wǎng)頁不需要你額外寫 Flask 或者 Django。安裝pip install voila然后啟動(dòng)voila my_notebook.ipynb它會(huì)自動(dòng)識(shí)別代碼中表征交互的 widgets 和 matplotlib 圖表生成一個(gè)可點(diǎn)擊、可滑動(dòng)的瀏覽器應(yīng)用。適合小范圍內(nèi)的數(shù)據(jù)看板、報(bào)表工具。還有一類場(chǎng)景是定時(shí)執(zhí)行 notebook。雖然可以用papermill這樣的工具批量跑但我的經(jīng)驗(yàn)是當(dāng)任務(wù)真的需要定時(shí)調(diào)度時(shí)Jupyter 并不是最好的載體把邏輯抽成普通腳本 cron 會(huì)可靠得多。Notebook 的優(yōu)勢(shì)在于“人機(jī)交互、實(shí)時(shí)反饋”真到了無人值守的生產(chǎn)環(huán)境腳本化和參數(shù)化才是正路。以上就是我這些年圍繞 Jupyter Notebook/Lab 沉淀下來的實(shí)戰(zhàn)要點(diǎn)。寫到這里最想提醒你的一點(diǎn)是工具技巧說到底是為了少打斷心流。安裝選型一步到位、目錄和調(diào)試兩個(gè)痛點(diǎn)提前布置好后面每次打開 Jupyter 就能把注意力全放在問題上而不是和環(huán)境較勁。不知道你有沒有遇到過更好用的小技巧如果有歡迎在評(píng)論區(qū)給我留言我也想去試試。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
影音先锋美国A| 嫩草AV久久伊人妇女超级A| 欧洲亚洲免费视频9| 啊v视频在线观看| 婷婷五亚洲| 久久精品五月天| 中文字幕丰满孑伦无码专区| 五月丁香天堂网| 婷婷色情五月| 日日做天天操夜夜爽| 激情久久综合网| 久久激情网| 深爱五月最新网址| 久久99成人性爱高清视频| 亚洲人妻av| 色五月婷婷天堂| 亚洲综合激情五月久久| 五月丁香色综合| 亚洲熟妇无码乱子AV电影| 中文aV网| 久久五月丁香综合17C| 超级碰碰碰碰视频| 九九色色色| 久久综合九色综合97婷婷| 1024人妻| 九九这里只有精品| www色色色com| 桃色成人网| 婷婷五月综合社区| 99热官网精品在线| 成人看片网站| 玩熟女五十AV一二三区| 99久久婷婷国产综合精品电影| 在线99热| 亚洲激情免费久久| 日本欧美国产| 九九99久久精品| www.25五月婷婷| 久久天堂加勒比| 五月天开心色色网| 大香伊人婷婷| 1024婷婷综合久久五月天| 色视五月天婷婷| 粉嫩av懂色av蜜臀av熟妇| 激情综合激情综合| 丁香五月最新地址| 99久久99九九九99九他书对| 色五月婷婷五月天| 少妇高潮A片无套内谢麻豆传| www.精品99| 日本色五月婷婷| 秋霞三及片| 五月婷六月丁香| 五月天成人在线精品| 色色色综合视频| 色婷婷基地在线| 99riAV国产精品视频| 激情五月狠狠| 亚洲av网站| 丁香五月天激情网址| 精品人妻一区| 丁香六月婷婷综合啪啪| av五月天婷婷丁香| 天天综合网色欲香| www.91AV.COM| 色婷婷激情四射视频| 丁香五月婷婷Av| 色色色综合色| 精品国产一区二区三区四区阿崩| 国产色香蕉精品五夜婷| 五月丁香婷婷在线| 人人色AV| 婷婷九月丁香| 久久小视频| 九热视频| 伊人久久大香天蕉亚洲特级| 再次出发二| 婷婷丁香一月| 麻豆五月丁香婷婷| 色琪琪一综合久久激情五月视频| www.激情五月天.com| 99视频久久免费视频| 五月婷婷视频啪啪美女| 日本色婷婷| 午夜成人天堂久久无码日韩久久| 无遮挡国产高潮视频免费观看| 五月婷婷综合激情| 另类婷婷丁香| 亚洲黄色精品| 色婷婷影视99| 678五月丁香亚洲综合| 丁香涩涩爱| 九九热精品99| www.com在线操视频免费观看| 任你擦免费视频| 婷婷四月 成人 狠狠干| 99精彩视频| 久久狼人天堂| 丁香五月婷婷色偷偷| 99热九九这里只有精品| 亚洲欧美一区二区三区爱爱动图| 黄桃AV无码免费一区二区三区| 九九色黄色| 4399在线日本A片| 啄木鸟黑丝一区二区| 五月天深爱激情网| 99干日日干| 日本黄色在线观看| 久久99免费视频| 影音先锋一区二区三区| 色婷婷另类| 九九99在线观看视频| 五月婷六月| 五月开心激情| 久久9视频| 五月丁香花激情综合网| 婷婷丁香社区| 亚洲综合成人网| 日韩精品一区二区三区,四区,五区视频| 日韩无码人妻一区二区| site:feetmall.com| 久热久| 91美女艹逼网站| 中文字幕在线免费观看视频| 天天草天天爽| 99色五月| 超碰在线精品| 午夜免费试看| 99在线观看精品视频| 五月婷中文娱乐综合| WWW丁香五月| 色五月首页| 久久草人妻| 99精品色| 婷婷伊人五月丁香天堂网| 五月情丁香色| 日产精品一线二线三线芒果| 丁香亭亭久久| 麻豆AV一区二区三区| 99男人的天堂| 97影院一级片| 99在线热| 激情五月天婷婷五月天| 婷婷六月丁香综合| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 99久久偷拍视频| 凹凸探花电影| 日本不卡高字幕在线2019| 丁香伊人网| 99视频在线看| 蜜桃人妻无码AV天堂三区| 在线91日韩| 色五婷婷| 五月丁香综合影院| 99操99| 天天色丁香| 99久久这里只有精品| 丁香五月婷综合| 色播播五月| 噜噜五月天综合| 夜夜骑夜夜撸| 亚洲国产成人综合| 久久99热网| 思思精品久久艹| www九九免费视频| 五月丁香网中文字幕| 97操碰| www.婷婷五月天啪啪| 亚洲精品久久久无码| 五月天小说激情| 色爆五月| 综合网啪| 五月丁香六月婷精品视频| 久草热久草在线视频| 婷婷婷五月天最新综合你懂的| 超碰免费成人网站| 8区视频在线| 99热九九这里只有精品| 人人操人| 五月天激情国产综合婷婷婷| 色性五月天| aaaa.黄| 日韩另类在线观看| 婷婷五月激情欧美大胆视频| www.97碰碰com| 六月丁香五月婷婷| 热久精品| 日本成人噜噜噜噜噜| 另类国产欧美视频| 91丨九色丨熟女高潮| 婷婷丁香五月天在线视频| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 思思热视频在线| 99这里精品| 日本高清不卡免费一区二区三区| 久久这里只精品| 热的无码综合视频| 久久女婷| 天堂五月婷婷| 黄色AAAA韩国guochansanji| 综合色播| 97色97干| 五月天天爱| 五月丁香啪啪| 色娸娸综合网| 日笨久久网| 夜夜操夜夜操| 色99日韩| 色婷婷婷婷| 九九这里只这里只有精品| 成年视频免费观看| 综合久久综合五月天婷婷| 这里只有精品2| 99热这里只是精品| 色丁香在线视频| 丁香五月色五月| 成人无码髙潮喷水A片| 丁香五月情| 丁香五月丁香伊人| 婷婷六月丁香色| 991国产精选视频在线播放下载| 国产69久久久欧美黑人A片| 开心五月天激情网| 综合色五月| 五月丁香婷婷无码A∨| 国产永久一黄| 色综合播放| 九月丁香| 九月色婷婷| 久久性刺激| 永久地址 色| 色欲Av五月天| 久久亚洲网| 亚洲综合成人网| 狠狠色丁香久久婷婷综合五月| 青青草青青草五月天| 99热色精品| 久大香蕉| 99热啪啪| 狠狠综合| 99热亚洲| 久久综合五月天激情小说网站 | 91丨九色丨东北熟女| 亚洲精品永久久久久久| 五月丁香偷拍| 超碰人人91| 天天橾夜夜爽| 九九热精品视频| 五月成人网天天| 亚洲综合色丁香婷婷六月| 99热这里只有精品268| 成人在线综合| 九九AV| 婷婷中文无码| 人人澡天天色天天做| 操操啪| 国产9色在线/日韩| 色五月婷婷婷婷婷婷婷婷婷婷| 新97人人上人人| 日本啪啪网| www.97碰碰com| 天天色99| 99久久免费性爱视频`| 午夜天堂啪啪| www.伊人天堂偷偷婷婷| 五月综合色播播丁香婷婷| 亚洲成人乱码av网站| 色婷丨日丨天丨综合久久| 五月丁香AV、伊人业余、性色熟妇| 五月婷婷天天色| 婷婷一本和五月丁香| 婷婷丁香五月激情中文字幕版| 五月天婷婷色播| 另类小说五月天综合网| www热久久yy9| 婷婷色婷婷| 亚洲无AV在线中文字幕 | 天天爽天天做| 综合大香蕉| 九九99久久| AA片在线观看视频在线播放| 天堂在线婷婷| 日本99热| 思思久久99热只有频精品66| 九九热大香蕉| 日本少妇裸体做爰高潮片| 九九色情网站| 婷婷五月花| 亚洲中文无码成人| 色色射| 99在线热| 色九九中文字幕| 亚洲在线成人| 秋霞三级色戒| 久久婷婷亚洲| 成人做爰高潮A片免费视频| www.一区二区三区| 日日天天天| 久久这里只有精品16| 色香欲综合| 五月天综合色| 夜色综合网| 新99思思视频| 9久精品视频| 中文幕无线码中文字蜜桃| 91av色色乱视频| 中文字幕不卡+婷婷五月| 色播五月婷婷综合| 91丨九色丨熟女丰满| 少妇高潮呻吟A片免费看软件| 热99热久| 91中文在线| 视色综合| 来吧亚洲综合网| 五月丁香美女| 色婷婷视频在线| 伊人婷婷五月天| 欧美成人AAA片一区国产精品| 97超喷视频在线观看| 97干视频| 五月丁香婷婷免费视频| 五月激情四射网站| 草操网| www.夜夜操| 成人无码髙潮喷水A片| 99热69| www.狠狠操.com| 国产色网站| 在线视频九色97| 天天做天天爱天天搞| 婷婷无码五月天| 欧美成人精品三区综合A片| 香蕉97碰碰碰超视精品| www.色色色色| 色婷婷丁香AV综合| 全部老头和老太XXXXX| 99热综合在线| 欧美交换配乱吟粗大25P| 久久99jiu9| 广东99色在线| 激情综合五月| 亚洲AV激情五月综合网| 99精品视频在线观看| AV色婷婷| 午夜亚洲国产精品av一区二区| 婷婷五月综合社区在线| 婷婷激情五月天视频在线| 五月天婷婷香蕉狠狠超碰综合| 五月色婷婷激情| 久久激情视频| 26uuuavcom| 亚洲欧洲另类| 五月四色婷婷| 九九综合九色欧美狠狠| 夜夜夜夜撸夜夜操| 在线视频激情网站| 五月婷婷激情网| 色色免费网站| 激情五月天 婷婷| 中文精品在| 涩涩五月天| 色九九一二| 日日插日日干| 超碰伊人碰婷婷五月| 午夜五月天| 九九九AAA热视频| 婷婷色激情五月天| 亚洲超级碰| 婷婷久久精品| 五月婷在线观看| 99色在线视频| 天天日夜夜草进麻麻的子宫| 无码AV大香线蕉伊人| 俺去啦综合网| 五月丁香在线观看99| 婷婷久久五月天| 亚洲秘 无码一区二区三区妃光/1| 狠狠色噜噜狠狠| 亚洲色图45p| 久九色| 久久99这里只有精品| 99超在线| 精品操逼一区二区| 欧日韩成人| 91操碰| 99热这里| 久久色天堂| 人妖色AV色综合| 嫩草视频观看| 婷婷久久五月天| 无码四色色色| 五月婷婷天| 69久久99精品久久久久婷婷| 99国产精品白浆在线观看免费| 婷婷五月综合在线视频| 色老久久| 中文字幕日本最新乱码视频| 色五月婷婷老师| 99色婷婷视频| txt五月激情四射网综合俺也来了| 99ri视频在线播放| 插插干干干色| 大伊香蕉精品视频在线 | 五月天堂婷婷| 精品一二三区久久AAA片| 99热的无码| 精品久久9| 中文字幕日产A片在线看| 狠狠五月激情婷婷直播片| 五月丁香毛片| 天天射网站| 中文字幕,综合,91| 狠狠人人| 久久婷婷综合网| 五月天婷a在线| 超碰超碰在线| 日本五月婷婷| 六月天六月婷| 久久丁香五月天| 国模九区| 国产精品美女久久久久AV超清 | 青青草蜜臀| 五月丁香婷婷婷激情爱爱| 操碰97| 亚洲免费观看高清完整版AV线| 亚洲色五月天在线| 深夜男女福利刺激影院一区完整| 99久久婷婷五月| 97久久视频| 中文在线成人| 思思热视频| 伊人国产婷婷五月天| 五月婷婷婷综合网| 丁香五月婷婷www..com| 丁香婷婷五月色综合| 色丁香五月| 丁香五月激情婷婷婷婷在线观看| 五月丁香婷婷激激激综合网色播| 五月丁香六月婷婷中合网| 日本三级中国三级99| 婷婷丁香五月天色色| 免费无码毛片一区二区A片| 色色五月丁香婷婷| 99啪| 欧美在线干| 99热精品在线观看| 五月婷婷六月激情| 婷婷丁香六月天| 久久婷婷五月综合伊人| 激情五月天色婷婷| 婷婷中文字暮| 丁香五月天论坛| 欧美爆乳一区二区三区| 婷婷六月情| 大地资源色婷婷视频在线| 人妻videos人妻高清| 九九sese| 亚洲无码成人性爰网| 99热 在线观看| 天搞天天天天天| 91九色首页| 91丨九色丨熟女|新版| 婷婷五月色情| 色色五月天网站| 91碰碰视频| 色婷婷色情| 91操片| 久久婷婷网| 婷婷五月天Av| 99热免费网站| 狠狠色狠狠鲁| 日日.c| 婷婷五月激情小说| 九月激情网| 欧美日韩成人| 亚洲天堂婷婷丁香| 9999综合99综合人| AV在线免费播放| 91成人品| 玖玖精品视频99| 亚洲精品五月| 婷婷五月影院| 无码色| 嫩草极品| 97欧美在线| 五月丁香婷婷色色| 激情五月综合ì香亚洲| 熟女激情五月天 | 五月天成人综合| 天天操夜夜爽天天操| 日本本土色网第一区| 99热久久最新地址| 久久综合五月天| 久久草大香蕉| 丁香五月亚洲综合丝袜| 亚洲免费av在线| 在线99热| 婷婷精品综合| 天天婷婷综合亚洲亚洲| 九月性爱网| 激情丁香九九五月综合网| 最新热中文字幕| 热99re| 久久婷婷五月天激情| 无码色| 在线一起草av| 99色综合网| 啪到高潮激情丁香五月| 五月天精品| 九热视频在线伦| 97香蕉碰碰人妻国产欧美| 狠狠搞综合色| 91丨九色丨43老版熟女| 色吊丝99| 久久久月丁香| 级情九色| 91视频久久久| 五月亭亭六月激情| 九九99精品| 日本色啪| 婷婷丁香视频在线观看免费| 五月婷婷在线观看黄| 国产AV一区二区三区最新精品| 97成人视频| 日本女天天爽| 五月婷精品| 操精品9| 婷婷激情综合网| 99热这里只有精品最新地址获取| 天天操天天操天天操天天操天天操| 99热每日| 大波美女VA网站| 五月丁香色色| 日韩xx在线| 婷婷爱婷婷| 久久婷婷综合五月天| 啪啪啪丁香五月| 2050人人操免费工开爱| 婷婷五月天激情四射| 五月天AV大香蕉| 亚洲色欲AAAAAA| 97色色色| 五月婷婷丁香| 欧洲毛片基地c区| 午夜丁香六月婷| 丁香五月中文字幕久色| 亚洲国产精品成人午夜| 91热er| 色五月六月| 日韩AV在线免费观看| 另类五月激情| 日本美女97在线视频| 老司机午夜福利视频金瓶梅| 五月天婷婷久久| 亚洲五月婷婷| 欧美性丁香色色五月天干干| 激情综合啪啪啪| 色色综合网站| 婷婷激情五月天网站| 五月丁香啪啪激情| 9l视频自拍九色9l视频自拍九色9l社区 | 久婷狼色诱惑在线| 狠狠干思思热| 丁香久久激情俄| 日本社区五月天激情| 天堂二区| 激情五月天影院| 狠狠色丁香婷婷| 五月丁香婷婷综合视频| 国产AV不卡福利| 亚洲va成人va成人va在线观看| 亚洲国产另类av| 99热九九热| 丁香97综合| 激情五月激情综合网| 国产色视频网站2| 五月精品| 色九月婷婷| 天天爽天天| 婷婷久久视频| 99色在线观看视频者| 99视频只有这里精品| 另类国产综合| 91啦丨九色丨刺激中文| 五月天成人在线播放| 99亚洲视频| 色五月婷婷中文字幕| site:xiongshengzz.com| 日韩成人免费电影| 五月丁香青草综合啪啪| 天天色99| 婷婷五月天成人网| 婷婷五月丁香久久| 丁香五月色五月| 26uuu成人网| 日在线V视频在线播放| 在线五月婷| 日本3级片一区2区| 操操操av| 婷婷色五月天色| 99在线精品观看99| 噜噜噜噜在线| 日韩一级A片黄色| 99色热| 深情五月天| 色婷婷亚洲| 中字幕视频在线永久在线观看免费| 综合激情深爱| jiujiu热在线视频| 激情超碰网| 久久曰曰| 伍月婷婷六月丁香| 超碰在线看| 婷婷五月天久草在线| 婷婷五月综激情| 色五月天综合| 香蕉国产2013| 亚洲第一成人AV| 91九九| 人人人操97| 啊v视频在线观看| 天天肏视奸| 五月丁香婷婷成人网| 操逼棍操逼| 色久婷婷五月| 国产avapp 网| 久久33视频| 超碰在线看| 99热在线观看| 丁香五月中文字幕久色| 开心深爱五月天| 久热99热| 五月综合激情视频| 人人色人人摸人人看| 国内久久久精品99| 丁香六月婷婷色XXXX| 五月丁香久久| 色色色色色色色色色色色色色97| 五月综合精品| 五月人妻婷婷| 色婷婷91激情小说| 丁香六月激情综合| 99在线视频播放| 1024在线观看免费视频| 四川BBB搡BBB爽爽视频| 五月综合激情| 婷婷伊人綜合中文字幕| 婷婷五月大香蕉| 五月婷婷丁香瑟瑟视频| 久久这里只有国产视频| 天天做天天要天天爽| 操操操操操操婷婷五月天| 二级黄色毛片| 亚洲午夜一区二区| 色综合香蕉视频| 91男人资源站| 亚韩精品视频1区| 精品一二三区久久AAA片| 97福利视频| 99久在线视频| 久久久大香蕉| 91超碰在线观看| 狠狠色五月| 色五月 五月婷婷| 日韩无码色色| 五月丁香另类图片| 夜夜爽天天爽| 亚洲婷婷丁香| 97av在线视频| 中文字幕在线日亚洲9| 婷婷五月丁香啪啪| 九九香蕉网| 五月丁香综合激情网| 国产精品大香蕉| 九九99久久| 婷婷五月天久久久| 粉嫩AV久久一区二区三区| 成人无码髙潮喷水A片| 成人做爰A片免费看视频| 五月天激情婷婷| 国产99久久久国产精品免费看 | Www.se.久久| 欧美色偷偷大香| 久久日韩婷婷五月| 欧洲亚洲免费视频9 | 成人 在线 日韩| 婷香五月激情视频| 成人做爰高潮A片免费视频| 五月婷视频| 五月黄色婷婷| 丁香激情五月天| 狠狠爱激情网| 激情五月天丁香| 欧美亚洲色色色色| 光棍影院日韩精品| 99久久综合| 森林影视大全,最好看的2019年视频| 99热这里精| 天天做好综合色| 婷婷九月激情| 538在线精品| 久超免费视频| 久久精典| www.十八禁不禁AV.com| 久久久久久久人妻| www.婷婷五月天| 丁香五月天大香蕉啪啪| www.99热在线观看| 五月综合婷婷网| 亚洲精品午夜国产va久久成人| 色欲天天综合| 少妇高潮呻吟A片免费看软件 | 狠狠色综合网| AV大片在线观看| 五月久久婷婷| 五月天婷婷高清无码| 99啪99| 99网| 99热在线资源| www.五月天婷婷姐姐| 人妻aV在线| 丰满老熟妇BBBBB搡BBB| 日本免费91| 婷婷综合五月激情| 婷婷午夜精品久久久| 黄色片久久| 一区二区乱码视频| 99r这里| 丁香六月激情| 丁香久月婷| 五月婷婷免费视频| 色啪综合| 色噜噜五月丁香婷婷| 99re久热只有精品6在线直播| 五月天婷婷成人网| 色色欧美。| 激情综合久久| 五月丁香综合激情| 国产精产国品一二三在观看| 97久久超碰| 99免费| 欧美日韩精品人妻狠狠躁免费视频| 日本狠狠色| 最近中文字幕大全免费版在线 | 97碰啪啪| 五月激情在线| yw.av| xxx综合在线| 色播播五月天| 综合久久影院| 天天插天天日| 五月丁香婷婷综合网色欲| 天天天天天色| 国产亚洲色婷婷久久99精品91| 色色激情五月| 99这里只有精品| 丁香五月天影院| 五月天婷婷激情小说| 开心激情婷婷| 另类小说五月天| ww久久| 色五月婷婷AV| 五月丁香六月婷婷欧美综合| 1024在线视频| 牛牛碰免费| 曰本久久女| www.五月婷婷久久.com| 99精品偷自拍| 亚洲婷婷开心五月| 99视频只有精品| 亚洲综合激情五月天婷婷| 色色激情| 狠狠色丁香久久久婷| 激情四射五月天| 九月激情网| 黄网在线播放| 婷婷五月丁香基地在线视频官网| 99久热在线精品| 五月综合丁香婷婷| 九九色精品| 日本人妻A片成人免费看片| 婷婷伊人綜合中文字幕| 婷婷色色五月天| 丁香五月综合| 五月丁香综合伦理片| 香蕉久久av一区二区三区| 人人人人人人人人人草| 少妇伦子伦精品无吗| 九九热这里只有国产精品| 超碰只有精品在线| 丁香六月色婷婷| 亚洲精品中文字幕成人片| 天天弄天天操| 国产亚洲色婷婷久久99精品91| 大香蕉伊人久久| 99热这里在线精品| 免费观看全黄做爰的视频| 爱婷婷五月| 久久久婷婷色五月资源网| 丁香婷婷色色| 天天做天天爱天天搞| 国产精品久久久久久久久久免费 | 丁香九月婷婷色| 超级碰91| 91人操人人人操人| 激情综合五月| 天天噪夜夜爽| 午夜av网| 99热在线播放| 五月天激情婷婷丁香| 久久久久久18| 五月丁香啪啪综合| 久久96热| 久热超碰91| 九九在线精品| 婷婷五月丁香综合人妻| 色综合久久综合中文综合网| WWW.国产| 久久婷婷五月天蜜桃| 91操熟女| 小香蕉av| 超碰免费99| 先锋男人99资源| 亚洲有码在线视频| 99精品网| 91婷婷五月天嫩女| 久久婷婷六月| 婷婷玖玖丁香| 色爱综合网| 五月婷婷丁香六月| 丁香婷婷激情五月| 草草影院爱爱| 日韩精品一区二区三区,四区,五区视频| 夜夜夜夜撸夜夜操| 亭亭丁香久久五月| 99热高清在线| 极品人妻VIDEOSSS人妻| 精品网站:999WWW| www.思思99热| 大香蕉伊人久久| AⅤ在线播放网| 另类专区在线观看| 色婷婷综合影院| 五月婷婷插一插| 超碰成人电影| 大香蕉九九操| 涩丁香| 日韩aaaaa| 99国产精品久久久久久久久久久| 99精彩视频在线观看| 五月婷婷亚洲| 伦乱人妻| 麻豆WWWCOM内射软件| 中文字幕在线免费| 五月丁香淫淫婷婷婷| 五月婷丁香在线视频在线| 超碰在线视屏| 91热网址| 婷婷丁香五月基地| 91919191919久久成人视频| 日韩aaaaa| 丁香婷婷五月天激情四射| 婷婷五月花西瓜| 九九热在线视频,| 色就是色婷婷五月亚洲激情| 99色五月| 玖玖五月丁香| 天天综合网色欲香| 美女被操一区二区| 色婷久久| 99爽视频| 99九九在线精品热动漫| 六月亭亭久久综合激情| 日本九九网| 婷婷9月天| 五月婷丁香在线视频在线| 五月天成人综合| 五月婷在线影院| 色五月激情五月开心五月| 狠狠狠五月婷婷六月丁香| 天天色爽| 99er6| 永久的网站AAAA| 日本色色色| 99色色网| 六月色色| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 九九九激情综合| 五月开心网| 免费看欧美成人A片无码| 99热久| 色丁香五月婷婷| 激情综合五月婷婷| 色婷婷影视| 双性美人被调教到喷水A片| 丁香六月激情综合| 亚洲国产精品VA在线看黑人 | 色99婷婷五月天| 久久婷婷激情四射五月天| 任你干嘛免费视频播放| 欧美VA视频| 久久刺激网| 激情五月综合网| 人人爽欧美婷婷久久久五月丁香| 婷婷综合色| www.久久久久久久| 色色五月天婷婷| 1024欧美看片| 色婷婷伊人| 精品视频网| 91九色中文| 91操操| 天天做天天双| 超碰在线网站9| 久久人妻超碰一区| 999精品久久久久久久| 《久久综合九色综合97婷婷| 久9热在线视频| 丁香五月天色| 婷婷五月深爱五月| 色五月亚洲| 开心激情五月天网| 99热在线观看| 色婷婷四色| 亚洲一个色| 99精品久久久久久久婷婷久久| 色综合色综合网| 国产综合婷婷| 97色色婷婷| 97色精品视频| 天堂久久婷婷| 婷婷综合五月天激情| 五月深爱激情网| PORNY九色9l自拍视频成人| 久久精彩免费视频| 丁香五月婷婷少妇| 丁香婷婷久久 | 久久婷婷视频| 午夜微拍福利| 国产精品久久..4399| 五月丁香网站在线播放| 婷婷五月天激情网站| 亚洲综合成人网| 黄色国久久| 4399亚洲视频| 天天天天天天天操| 色五月首页| 九九色婷| 五月天无码| 婷婷深爱五月丁香| 91九九| 五月婷婷黄| 加勒比色色| 成人网址在线观看| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 26UUU在线观看| 欧洲亚洲午夜| 九九九九九999999| 丁香婷婷大香蕉| 丁香六月婷婷综合啪啪| 99热精品在线观看| 色色婷婷丁香五月天| 色插综合网| 色停停香蕉视频| 丁香五月婷婷影视先锋| 99视频色在线观看| 五月色丁香| 久久人妻超碰一区| 丁香五月婷婷久久综合激情网| 五月丁香中文字幕| 99热久久这里只有精品| 99久久网站| 激情綜合W W W,激情五月天| 97色婷婷| 五月花综合网| 五月丁香成人| 丁香久久九九99| 丁香五月深爱五月婷婷| 婷婷丁香色五月| 激情熟女网| 性天天中文网| 亚洲亚洲人成综合网络| 性爱先锋AV| 丁香五月天黄色片| 久久图色4| 人人爽亚洲| 日韩乱轮AV| 日本狠狠爽| 五月婷久久| 精品久热| 婷婷久久五月丁香| 91久久精品无码一区二区三区| 亚洲成人黄色网| 久婷婷视平| 人妻久久久久久久久妻久久久久| 99爱精品| 激情小说五月天社区丁香| 婷婷四色五月| 日本三级中文字幕| 婷婷射综合| 人妻久热| 五月丁香自拍| 欧美人久久| 色在线99| 香蕉国产2013| 中文字幕在线不卡| 婷香五月| 色爱五月天| 婷婷丁香69精华| 丁香六月色婷婷| 丁香丁婷五月激情| 五月婷婷无码| 亚洲色欲欧美一区二区三区| 国产成人精品一区二三区熟女在线 | 在线另类| 99精品热| 色婷婷激情小说网| 99热这里有精品| 玖操97| 久久九九热re6这里有精品| 久热这里只有精品视频6| 成人久碰| 欧美黄色AA片哗啦啦啦| 久久超级碰视频| 五月丁香好婷婷A片网| 丁香五月首页| 人妻少妇色综合| 69五月天视频| 日本久久九| 五月天亚洲综合网| 婷婷 伊人 久久| www.99婷婷| 第四色五月激情网| 久久精品凹凸分类| AV性爱在线| 97欧美在线| 五月天色社区| 97婷婷丁香五月| 中文字幕+中文在线| 97人人搞| 婷婷五月丁香狠狠| 中文字幕操比影片| 99久久精品国产色欲| 综合激情伊人影视在线| 专区无日本视频高清8| 青青草视频福利| 久久九⑨| 婷婷另类小说| 天天xxxxxx天天日| 99男人的天堂| 色色无码| 色五月丁香伊人五月| WWW99热| 8090在线影视少妇| 亚洲综合激情五月久久| 97人人射| 波多野结衣不卡AV| 99婷婷国产最新视频| 99热www.| 影音先锋综合网| 日韩AAAAA| 久久这里有精品视频在线免费观看| 日韩综合久| 91狠狠色丁香婷婷综合久久| 色色 亚洲| 五月婷婷无码| 97丁香视频| 五月婷婷开心网| 激情99在线视频| 五月丁香六月婷婷精品| 91n啪啪| 色综合五月| 婷婷深爱五月天| 99re热| 五月丁香网站| 丁香五月婷婷综合啪啪| 色五月婷婷中文字幕| 精品国产va久久久| 看黄的网站18禁| 五月狠狠| 99精彩视频网站在线| 午夜激情综合| 深情五月天| 综合99在线| 久久婷婷网| 4399精品一区二区| 99性爱视频| 五月天丁香网站| 毛片毛片毛片毛片| 丁香六月中文| 婷婷九九| 久久视频婷婷| 色婷婷精品视频在线播放| 伊人久久艹| 9色在线视频| 性爱视频99| VA婷婷亚洲| 99亚洲综合| www色色com| 色婷婷五月天成人网| 31色区视频免费看| 99ER热精品视频| 色啪网| 丁香五月色| 99婷婷国产最新视频| 五月花激情| 亚洲国产精品综合色区| 久久国产精品乱子伦_靑青草…| 欧美五月婷婷| 婷婷成人在线| 色婷婷无吗| 五月婷婷丁香日韩在线| 北京熟妇搡BBBB搡BBBB| 激情六月婷婷| 99综合网| 丁香激情久久| 99无码视频| 99热在线观看免费精品| 俺去也五月天婷婷| 五月丁香在线婷婷美女| 91啪级电影| 婷婷久久五月天亚洲欧美国产日韩在线观看| AV在线资源| 97人人干人人操| 中文字幕AV在线| 五月丁香无码| ww久久| 久久久18| 久久九九综合| 99色在线视频观看| 综合亚洲六月婷婷在线| 97亚洲色 torrent magnet| 丝袜大香蕉| 超碰免费成人| 99久久精品色老| 99久在线观看| 婷婷综合网站| 噜噜狠狠| 婷婷五月激情六月丁香| 五月香蕉综合| 丁香六月天AV| 色五月无码| 中文字幕+乱码+中文字幕在线观看| 深爱五月综合网| 五月丁香六月婷婷免费| 久久只这里有精品| 天天色天天色天天色天天色天天色| 另类视频丁香五月| 婷婷干五月综合在线播放| 色综合综合色| 久久精热| 激情另类综合| 婷婷激情四射| 亚洲视频在线网站| 月丁香久久久| 久久久性爱视频| 丁香五月香蕉在线| 欧美性爱特黄一级aaaassss| www久热com| 丁香婷婷激情网站| 色色色色色色色色色色色色色97| 婷婷久久五月| 中文字幕无码人妻少妇免费视频| 五月天丁香久久综合| 丁香六月成人网| 亚洲第一成人无码A片| 欧美大奶熟女噜噜噜噜| 91a片爽| 91女人18毛片水多国产| 日韩高清久久| 丁香五月,开心五月,成人婷婷| 五丁香激情综合| 亚洲色色香蕉| 色婷婷久久综合| 婷婷九月| 日韩成人影片在线观看| 丁香五月婷婷AV| 色婷婷色五月色丁香| 五月天激情国产综合婷婷| 婷婷激情四射| 色啪久 | 婷婷五月天亚洲| 色狠狠综合| 婷婷色色亚洲| 久久精品五月天| 天天色五月| 五月婷婷丁香五月| 婷婷五月色| 大香蕉伊在| 99精品视频在线6| 激情五月天 婷婷| 色婷婷99| 日韩在线一级| 天天天天天色| 在线天堂9| av操逼网| 国产成人av在线| 婷婷情色激情| 激情五月天婷婷| 91精品综合久久久久久五月天| 九九国产精视频| 丁香成人五月天| 国产乱子轮XXX农村| 久久色9| 五月婷婷伊人久久| av九九| 亚洲乱啪| 五月天成人网婷婷| 色狠狠综合| 色五月开心久久网| 天天天天天操| 五月天综合网| 成年视频免费观看| 丁香五月天五码婷婷| 婷婷丁香五月天激情| 色九月国产| 伊人五月天婷婷| 欧美激情综合| 日本久热| 婷婷无码五月天| 婷婷激情五月呦呦| 激情五月天综合网站网站网站| 激情五月综合婷婷| 色婷丁香91| 九九热九九| 美日韩成人| 超碰在线观看9| 色五月婷婷亚洲| 久777| 五五月五月| 久热婷婷| 色婷婷电影网| 中文AV在线观看| 日本黄色精品| 五月天婷婷在线AN| 久久婷婷六月综合国际| 婷婷五月情色| 色五月综合网| 激情综合网丁香| 99操视频| 亚洲免费99| 色色色婷婷五月| 日熟女| 99这里热| 综合激情肏逼网| 久久精品这里只有精品免费首页| 精品99*| 久久思思热视频| 91中文狠狠综合| 五月婷婷免费| 免费黄网不卡AV| 狠狠干伊人| 超碰97在线观看免费| 天天夜天天色天天| 大香蕉福利导航| 狠狠色噜噜狠狠| 影音先锋一区二区资源站| 这里只有精品69| 五月丁香六月停停停| 天天xxxxxx天天日| 中文超碰视在线| 99精品福利视频| 日韩无码性爱| 991精品在线视频| 九九RE视频在线精品| www.激情|