久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

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è)用法不能說(shuō)錯(cuò)但遠(yuǎn)遠(yuǎn)低估了 Jupyter 家族能解決的問(wèn)題。作為一個(gè)日常拿它寫分析、做演示、甚至搭內(nèi)部小工具的人我今天想把這些年踩過(guò)的坑和沉淀下來(lái)的技巧一次性梳理出來(lái)從安裝環(huán)境、路徑權(quán)限到長(zhǎng)文檔導(dǎo)航、魔法命令和調(diào)試器再到導(dǎo)出和分享的邊界問(wèn)題都盡量講透。如果你是剛?cè)腴T的小白這篇文章能幫你少走一半冤枉路如果你已經(jīng)用了很久但總覺(jué)得卡手里面不少細(xì)節(jié)大概率是你沒(méi)注意過(guò)的。核心關(guān)鍵詞只有一個(gè)——Jupyter Notebook/Lab 使用技巧我把重心放在“實(shí)際按下鍵盤之后會(huì)發(fā)生什么”上盡量不談空泛的概念。1. 別急著裝完就跑安裝、啟動(dòng)與路徑選擇里的坑1.1 用對(duì)安裝方式才不糟蹋你的 Python 環(huán)境第一次按網(wǎng)上的教程裝 Jupyter 時(shí)最常見(jiàn)的操作就是打開終端輸入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ò)、無(wú)響應(yīng)、或者找不到包。獨(dú)立環(huán)境能讓你隨時(shí)重建、隨時(shí)扔掉不會(huì)影響你干其他活。當(dāng)然如果你對(duì) conda 無(wú)感用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)彈出。要是沒(méi)彈出終端里會(huì)打印一個(gè)帶 token 的 URL手動(dòng)復(fù)制到瀏覽器即可這就涉及下面要說(shuō)到的登錄入口問(wèn)題。1.2 啟動(dòng)失敗和 PermissionError 究竟卡在哪熱詞里有個(gè)很典型的報(bào)錯(cuò)permissionerror:[errno 13] permission denied。我在各個(gè)群里見(jiàn)過(guò)不下三四十次大部分場(chǎng)景都是在 Linux 服務(wù)器或者 macOS 上敲了jupyter notebook結(jié)果提示這個(gè)錯(cuò)誤一臉懵。這個(gè)錯(cuò)誤的本意是“當(dāng)前用戶沒(méi)有權(quán)限訪問(wèn)某個(gè)文件或目錄”。在 Jupyter 語(yǔ)境下最常涉及兩處一處是配置文件目錄通常叫.jupyter在用戶主目錄下。Jupyter 啟動(dòng)時(shí)會(huì)往里面讀寫history.sqlite、runtime等文件。如果這個(gè)目錄的屬主不是你或者之前用sudo啟動(dòng)過(guò)導(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)如果是屬主問(wèn)題直接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 無(wú)關(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è)頁(yè)面里上下排列多個(gè)單元格”雖然簡(jiǎn)單但用了很多年后你會(huì)很明顯地感受到它的限制整個(gè)頁(yè)面只有一個(gè)視圖沒(méi)法同時(shí)看兩個(gè) notebook每個(gè)文件單獨(dú)占一個(gè)標(biāo)簽頁(yè)一旦開得多標(biāo)簽頁(yè)密密麻麻拖拽單元格換位置在單個(gè)文檔里還可以跨文檔基本叫天天不應(yīng)。Notebook 的好處是它老插件生態(tài)成熟。jupyter_contrib_nbextensions里一大堆經(jīng)典擴(kuò)展比如代碼折疊、目錄、高亮選中的變量、自動(dòng)格式化等等都只在 Notebook 界面里比較順手。如果你的主力機(jī)器還在跑老項(xiàng)目那么新版 JupyterLab 往往無(wú)法直接復(fù)用這些 nbextensions。2.2 Lab 補(bǔ)齊了什么切換成本又有多高JupyterLab 從設(shè)計(jì)之初就奔著“集成開發(fā)環(huán)境”去文件列表在左邊主區(qū)域可以開多個(gè)窗口支持拖拽布局同一個(gè)瀏覽器窗口里同時(shí)排兩個(gè)筆記本毫無(wú)壓力。它還統(tǒng)一了很多之前要單獨(dú)裝的東西多語(yǔ)言支持、命令面板CtrlShiftC 呼出以及內(nèi)置的表格查看器、CSV 預(yù)覽等。切換成本不是我一開始想得那么低。比如原先在 Notebook 里靠 nbextensions 開啟的“目錄”功能在 Lab 里需要單獨(dú)裝jupyterlab/toc新版本甚至已經(jīng)內(nèi)置為右側(cè)的 Outline 按鈕。還有一些自定義的 nbextensions 在 Lab 里完全不認(rèn)只能等作者出 Lab 插件版本有的等了兩三年都沒(méi)消息。所以我的個(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 跨頁(yè)面復(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. 讓目錄樹滾起來(lái)長(zhǎng)文檔導(dǎo)航方案實(shí)測(cè)3.1 裝插件前先搞清你用的是哪個(gè)環(huán)境“為 jupyter notebook 添加目錄”是永久熱搜。很多人遇到的尷尬是明明在網(wǎng)上搜到pip install jupyter_contrib_nbextensions裝完也執(zhí)行了 enable但打開 Notebook 還是看不到目錄。最常見(jiàn)原因是你裝了插件 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í)插件安裝到哪里去了根本說(shuō)不清。這時(shí)候要么老老實(shí)實(shí)把jupyter重裝到當(dāng)前環(huán)境要么用python -m jupyter notebook來(lái)強(qiáng)制走當(dāng)前解釋器。3.2 兩種主流目錄插件配置與對(duì)比在 Notebook 界面主流方案是jupyter_contrib_nbextensions提供的Table of Contents (2)也叫toc2。安裝過(guò)程pip install jupyter_contrib_nbextensions jupyter contrib nbextension install --user jupyter nbextension enable toc2/main裝好后重啟 Notebook在“Nbextensions”配置頁(yè)面里找到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ù)來(lái)生成的如果你在單元格里刪改了很多標(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 支持搜索過(guò)濾直接鍵入標(biāo)題關(guān)鍵字可以快速定位到長(zhǎng)文中某個(gè)章節(jié)。對(duì)于動(dòng)不動(dòng)幾百個(gè)單元格的報(bào)告型 notebook這個(gè)功能我?guī)缀趺刻於紩?huì)用到。4. 魔法命令與交互模式真正提升日常效率的十來(lái)個(gè)玩法4.1 把時(shí)間測(cè)出來(lái)%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比什么都有說(shuō)服力。如果你想知道更精細(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一遍遍手工來(lái)而是用內(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 來(lái)得省心。還有一個(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)來(lái)后手動(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ì)顯示出來(lái)不需要一個(gè)個(gè)寫display。類似地可以限制 DataFrame 顯示import pandas as pd pd.set_option(display.max_rows, 100) pd.set_option(display.max_columns, 50)還可以通過(guò)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)整繪圖窗口大小、過(guò)濾閾值等親測(cè)能省大量“改參數(shù)重跑”的無(wú)聊循環(huán)。5. 排錯(cuò)和調(diào)代碼那些讓人抓狂的異常與診斷技巧5.1 內(nèi)核死了別慌先查這四類問(wèn)題在 Jupyter 里你可能會(huì)遇到Kernel Restarting或者“The kernel appears to have died”這類提示。內(nèi)核崩了最直接的影響是之前定義的變量全部丟失只能重跑一遍。按照經(jīng)驗(yàn)八成原因逃不開四種無(wú)限遞歸或死循環(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ū)不一定來(lái)得及寫盤。5.2 調(diào)試器的三種打開姿勢(shì)pdb、%debug、ipdb代碼報(bào)錯(cuò)后最常見(jiàn)的動(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é)合起來(lái)的工具pip install ipdb然后在代碼里import ipdb; ipdb.set_trace()在 Notebook 中的體驗(yàn)比純pdb好支持 Tab 補(bǔ)全和彩色輸出。說(shuō)實(shí)話一旦習(xí)慣了用%debug事后復(fù)盤就再也不想從頭加 print 再去猜了。5.3 日志、打印、變量探查三板斧調(diào)試不僅靠斷點(diǎn)還靠對(duì)變量的快速探查。三個(gè)林林總總的函數(shù)建議背下來(lái)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)限本身的問(wèn)題檢查~的屬主和權(quán)限。如果寫用戶目錄沒(méi)問(wè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ò)那就說(shuō)明問(wèn)題不在 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í)的邊界問(wèn)題在 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)境說(shuō)明。我在每次分享 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ì)方把依賴說(shuō)明白。常見(jiàn)順序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)頁(yè)不需要你額外寫 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í)反饋”真到了無(wú)人值守的生產(chǎn)環(huán)境腳本化和參數(shù)化才是正路。以上就是我這些年圍繞 Jupyter Notebook/Lab 沉淀下來(lái)的實(shí)戰(zhàn)要點(diǎn)。寫到這里最想提醒你的一點(diǎn)是工具技巧說(shuō)到底是為了少打斷心流。安裝選型一步到位、目錄和調(diào)試兩個(gè)痛點(diǎn)提前布置好后面每次打開 Jupyter 就能把注意力全放在問(wèn)題上而不是和環(huán)境較勁。不知道你有沒(méi)有遇到過(guò)更好用的小技巧如果有歡迎在評(píng)論區(qū)給我留言我也想去試試。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品视频内谢女人| 国产成人在线观看综合| 国产情色第一第二页在线观看| 国产成人免费观看在线视频| 欧美十八禁视频| 麻豆av一区二区| 超碰人妻中文在线| 一区 欧美 日韩 麻豆| 日韩无码专区| av资源在线播放天堂| 91天天看| 蜜臀99久久精品久久久久| 亚洲色悠悠久久88| 亚洲三级网址久久最新| 国产男女无套97| 丁香色色网| 欧美性巨大╳╳╳╳╳高跟鞋| 试看60秒 爽| 蜜臀99久久精品| 99久热精品99re6热| 免费一级性爱久久| 色婷婷一区二区三区久久| 国产精品乱码久久久久久久久久久久| 丁香婷婷久久 | 爱欲AV| 色综合99| 婷婷五月天综合网| 亚洲欧美一区二区三区在钱蜜桃| 日本色色网| www.夜夜| 夜夜狼人妻| 97久精品| 黑人天8A∨高清网站| 99热| 欧美人妻精品| 97色视频在线| 骚逼自拍99| 麻豆精品三区视频| 人妻少妇久久| 东北熟女91| 日韩少妇无码| 日韩成人无码| 久草视频分类在线| 操人无码| 国产原创精品| 青青草视频导航官网| 99九九久久| 超碰碰激情97+久| 欧美激情精品久久久| 四虎免费视频| 国产内射爽爽大片| 国产精品免费视频人成| 激情五月综合网| 91女网站| 97超碰磁| 一区二区三区麻豆| 久久夜精品一区二区三区| 又粗又长又大国产不卡| 亚洲激情 欧美色图| 国产乱弄免费在线视频。 | 99热只有| 丝袜喷水在线| 九九这里只有精品| 97香蕉网| 亚洲人妻av| 天天操夜夜操| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 78久久久| 久久久精品视频欧州站| 日本精品999| 亚洲精品国产熟女| 亚洲免费成人精品电影| 亚州男人天堂| 欧美黄片免费在线观看视频| 柠檬AV导航| 夜夜高潮夜夜爽高清视频一 | 久久噜噜噜精品国产亚洲综合| 超碰97伊人| 久久亚州精品成人Av无| 97久久超碰| 日韩熟女视频二区| 久久一区二区三区入口| 欧美页片| 亚洲毛片基地专区| 综合久久中文字幕综合日韩精品| 欧美成不卡网| 国产乱伦性爱区| 日本不卡码黄色| 黑人性欧美| 麻豆视频国产一区二区| 久草成人福利导航| 午夜噜噜噜| 日本视频一区二区三区| 久草在| 超碰九区| 色五月婷婷中文字幕| 330dv亚洲成年视频网| 久久久一区二区三区麻豆| 日韩在线性爱免费视频| 日韩精品99久久久久久中文字幕| 一本色道综合久久欧美日韩精品| 国产小u女在线观看| 嗯嗯嗯不要不要免费视频| 久久久久久999| 亚洲精品尤物yw在线影院| 私色综合网| 啊啊啊水好多| 成视频在线观看免费看| 99在线精品观看视频中文| 天天干天天燥| 禁十八久久| av网站国产主播在线| 国产原创自拍| 国产精品探花视频| 久久久成人精品| 成人av影院在线观看| 嗯~啊~快点 死我视频| 密臀在线一区尤物| 97超碰jingpin| 亚洲美女精品九九视频| 久草婷婷| 精品国产91av一区二区三区| 色97综合中文字幕| 韩国久久97| 久久精品人妻一区| 国产久久日| ..日韩av毛片精品久久久| 日韩钢筋无码高清啾啾啾| 99久久无码| 97 亚洲 日韩 欧美 在线| 欧美超碰97| 午夜呻吟欧美| 久久无码电影| 四虎精品永久在线观看| 日本在线一二 | jizz啪啪| 日韩人人精品| 五月色综合| 東南亚性呦成人伦理资源在线视频| 五月婷婷基地| 91深夜夜| 激情婷婷黑人91| 欧美综合站| 乱伦熟女论坛| 亚洲 在线| 天天综合网一91网| 极品尤物自安慰| 欧美日韩亚洲少妇寂寞影院正在播放| 六九九九| 91精品女厕偷拍视频| 天堂精品一区| 久久久久9久久久久| 国产精品免费1区2区视频| 亚州 综合 色图| 国产免费永久精品无码| 探花视频免费观看国产专区| 青青草色AV| 日本免费一区二| 看一级特黄a大一片| 人伦四五区| 中文字幕一区二区三区人妻少妇在线| 2024人人操人人摸| 人妻系列无码专区中文有码| 外站AV在线| 国产av热热色| 国产精品国产自产拍高清AV| 国产精品自在线发布| 美女网站91| AV在线资源| 丁香五月婷婷啪啪| 成人aⅴ一区二区三区| 亚洲男人天堂手机版| 欧美 综合| 蜜乳av首页| 国产性爱在线视频一区二区| 国产97视频| 97超碰这里只有精品| 国产免费大片| www.激情| 91精品国产高清久久久久久,亚洲成人 | 欧美性生活男人的天堂| 超碰人妻久久| 啊啊啊啊啊在线| 欧美91久久久久| 好吊色一区| 丝袜美腿欧美| 激情五月天网站| 上海一级黄片| 久久久久久国产成人| 97爱综合| 中文字幕一二三| 东北老熟女| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 中韩中文字幕在线观看| 天天躁狠狠躁av| 亚洲综合性感在线| 欧美亚综合色图| 亚州精品一区二区三区香中文字幕在线| 国产毛片在线| 久久这里是精品| 黑人精品XXX一区一二区| 熟妇人妻丰满久久久久久久无码| 在线视频资源| 91天堂| 欧美日韩制服| 婷婷久久五月综合激情| 亚洲 欧美 日韩 国产一区二区| 先锋女优在线观看视频| 中文字幕第2页| 欧洲综合色图| 日韩兔费看黄片| 男啪女色黄无遮挡免费观看| 日韩啊V| 亚洲āv网址在线观看| 人人操,人人液| 一区二区不卡视| 国产熟女无套内射| 天天视频黄| 亚洲图片色图欧美另类| 成人麻豆av电影网站| 家庭乱伦网站国产| 日本 成 人 小说 电影 一区二区| 久久久网站| 人妻嗯啊啊在线播放| 成人婷婷丁香| 日本欧美色| 神马久久69| 天天综合麻豆视频| 91 国产丝袜在线放观看| 欧美同性恋 的搜索结果 - 91n| 99ri在线视频| 国产性爱强奸乱伦大全| 国产熟女精品区| 六月丁香久久| 精品久久久无码| 婷婷色综合| 天美精品一区二区三区四区在线观看| 久久美国毛片| 毛片久久| 97任你吞精| 大香蕉av在线| 97日视频| 激情小说亚洲色图| 91久久精品中文字幕| 欧美1727免费观看视频| 欧美在线视频观看一二三四区高清| 欧美人妻一区二区| 国产91影院| 亚洲男人天堂2012| 中文字幕精品亚洲熟女| 久久丁香久草综合网| 久久国内| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 精品欧美А∨无码黑人大荫蒂| 91精品国产麻豆国产自产在| 超碰色中文| 欧洲色综合| 巨爆乳一区二区爆乳区| 草草影院在线视频| 欧美成人贴图| 女人被添高潮免费视频| 亚洲天堂情色| 熟妇高潮精品一区二区三区下载| 免费一级毛片在线视频观看| 飘花国产午夜精品不卡| 青青操网| 久九九九| 97视频在线播放| 亚洲色综网| 1区2区3区中文字幕日韩| 婷婷五月天成人| 日本免费专区| 黄片视频,下载| 欧美Ⅴ性爱| 999久久久| 久久线上视频免费看| 日韩精品一区,二区 九九...老司机| 96AV久久久| 草草影院在线视频| 99操| 久久婷婷色| yellow网站免费观看日韩高清无码| 中文字幕天堂在线| 97碰| 成人精品无码| 97资源超碰| 九九在线精品| 玖玖婷婷五月天| 91黑人无码激情在线| 亚洲AV无码黄色强奸| 国产精品久久久久无码A√| 精品国产三级av韩国在线| 麻豆91熟妇人妻中文字幕茄子 | 另类图片五月天| 欧美精品999| 亚洲超碰在线| 92福利社视频| 亚洲A色| 91色噜噜狠狠| 欧美91久久久久| 老司机午夜精品福利视频一区二区| 欧美激情久| 亚洲日韩欧美一区二区| 久9综合在线| 208天天久久九九九| 超碰97综合网| 一区二区影视| 激情五月综合开心五月| 福利视频一区二区微拍| 无码日韩网站| 欧美大码在线视频| 91国产大片| 超碰1997| 欧美啪啪色吧在线| 中文字幕美女91| 强奸乱伦AV网站| 人摸人人操人| 亚洲成人碰碰| 夜夜福利| 九九九不卡| 9久久久久| 在线观看不卡一区二区三区| 人摸人人操人| 天天综合91在线| 91女网站| 青青草中出视频| 久久二| 天天摸天天碰天天添青青| 欧美精品双插| 久久9久久| 中文字幕一区二区视频在线观看| 精品乱码在线观看| 人人摸人人摸人人干| 91制服丝袜| 91丝袜激情在线| 久操不卡视频| 玖玖爱在线视频免费观看| 另类专区加勒比| 久久国产精品一级二级三级| 伊人黄色视频免费观看| 熟女这里只有精品6| 天天色综合影视网| 西西美女视频网| 久热久| 午夜精品久久久久久久久久蜜桃| 人人九九精| 亚洲美女AV无码| 免费看黄视频亚洲网站| 精品久久久久久亚洲| 九九九九九九九九九五码| 天天欧美| 日韩去日本高清在| 熟妇高潮精品一区二区三区下载| 亚洲欧美色图片| 国产精品无码在线| 啊啊啊啊啊好大好舒服想要| 色淫网站优优视频| 成人性爱美曰韩| 999岛国大片| 九九热九九热| 超碰无码五月97| 超碰97久久| 亚洲各类熟们中文字幕| 欧美大战久久久伊人| 久久超碰网| 亚洲国产欧美中文永久| 亚洲天堂日本| 嫩草 人人网精品| 国产suv一区二区三区6| 偷窥自拍亚洲天堂网爆| 久久宗合亚洲| 成年人三级黄色片视频| 亚洲图片激情综合另类| 久9无限国产| 欧美激情在线观看视频| 午夜AV污污污| 久久久久亚洲三级电影| 精品久久久久黄少妇| 欧美一级黄片视频在线| 欧美激情一区| 国产综合在线视频网站| 韩国成人精品久久久免费看| 午夜视频好爽啊| 97国产精品在线观看| av毛片aaaaa免费看| 亚洲18禁| 26uuu久久| 久久25| 天天干人人看综合| 亚州再线| 久久av一级av少妇av高潮| 草蕉影视亚洲无码| 久久久久久人妻一区精品色欧美| 精品一区二区三区四区外站| 国产精品 久久久精品一牛| 免费人人搞97| 国产51色综合久久免费| 4虎在线视频| 欧美亚洲日本视频久久久| 九九九草| 欧美性生活综合| 快灬快灬 一下爽蜜桃在线观看| 久热9| 亚洲精品99999| 超碰97欧美在线 | 欧美精品四区| 91人妻最真实刺激绿帽| 极品美女福利在线观看| 亚洲久热| www.久久制服糖| 北约熟女超碰| 欧美日韩成人| 久久成年精品| 色97欧美| 精品人妻中文字幕4399| 久久久中文| 欧美图片色综合| 亚洲91综合| 东京热双插| 亚洲 日本 国产 综合| 午夜国产成人福利视频| 爱射综合| 国产熟女自拍| 精品蜜乳AV免费观看| 免费精品人妻一区二区三| 欧美激情综合| 久久精品中文字幕女同| 日韩欧美亚洲自拍偷拍| 国产高潮AA片免费看| 日本免费不卡二区| 嗯嗯不要 视频| 天天弄天天操| 混色激情av| 无码九九九九| 色就色综合| 亚州宗合另类| 97欧美日韩精品| 亚洲综合另类小说色区亚洲成av人片在www| 久久伊人在线五区| 色婷婷av在线观看| 欧美一区二区亚洲天堂| 日本污ww视频网站| 亚洲精品欧洲精品| 干超碰碰熟女| 激情五月天视频| 国产熟女二区| 明星性猛交ⅹxxx乱大交| 亚洲AV成人无码一区二区三区在线观看 | 国产无码精品无码| 久久99久久99久久99人受| 亚洲人妖网| 毛片久久| 天美av在线观看| 午夜噜噜噜| 蜜桃av综合网发布| 欧美骚少妇| 欧亚性爱在线视频| 伊人国产视频| 国产日韩区| 用力操死我| 国产精品人妻无码久久久老鸭窝 | 伊人久久蜜月| 久久久久亚洲av综合波多野制衣| 成人综合网 欧美| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 五月婷婷六月天| av2014 日韩在线中文字幕| 日本国产高清色www视频在线| 九九英色视频| 国产精品亚洲一级av第二区| 操淫穴亚洲五月丁香 | 精品视频久久区| 丰满少妇一区二区三区四区观看| 欧美人妖内射| 亚洲色婷婷| 欧美成97爱| 人妻久久久久久| 午夜啊啊| 91亚洲精品青草| 免费精品国偷自产在线在线 | 嗯嗯啊啊操死我| 精品人妻中文字幕高清| 天天天肏屄欧美| 国模私拍一区二区三区神乳| 日韩欧亚中文在线| 岛国艾薇凹凸视频天堂| 欧美日韩传媒| 欧美日韩淫加| 果冻国产精品麻豆成人av| 欧美激情一| 丁香六月婷婷久久综合| 操逼无码操逼| 青草影院内射高潮| 无码自拍SM| 91人妻在线视频| 午夜福利在线视频1000| 在线观看综合精品亚洲| 午夜精品久久一区二区| 成人久久精品| 丁香五月婷婷五月| 国产黄片精品在线| 变态综合色| 蜜臀av中字字幕网站| 岛国片国产成人亚洲播放| 欧美美逼| 性生活无遮挡纯毛片在线看| 在线观看日韩av不卡| 婷婷综合伊人一区| 日日妻色网| 蜜桃视频精品一区二区| 中文字幕精品日韩中文字幕| 97综合在线| AV中文字幕剧情1区2区3| 色五月婷婷中文字幕| 亚洲无码精品AV久久久| 日本高清视频在线观看黄已三辽| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 夜夜爽77777| 制度丝袜99| 亚洲欧美伦综合| 亚洲综合贴图91| 99re这里只有精品中心播放 | 啊啊啊啊啊啊啊啊啊啊在线观看| 亚洲五月丁香花狠狠干一区二区三区| 欧洲综合无码| 国产精品精品系列在线观看| 国产在线激情| 欧美在线永久天堂| 青青草一本道福利视频| 亚洲熟久久| 欧美精品人妻视频| AV九九| 国产h片在线观看视频| 免费试看60秒| 亚洲黄色| 亚洲欧美骚| 97在线观看免费| 97欧美日韩中文| 肥臀熟女福利视频一区二区| 亚洲欧洲小说图片视频| Julia在线播放亚洲久久| 久久男女激情视频网站| 国产家庭乱伦网址| 噜噜噜在线视频| 老司机深夜18禁污污网站| 久久春色| 亚洲欧美另类图片| 资源新线在线天堂| 九九九九九精品视频| 综合网少妇| 97人妻人人躁人人玩人人| 欧美日韩天堂| 日本天天干天天日一区| 啊啊啊久久久视频| 中文字幕欧美日本乱码一线二线| 青草园大香蕉| 久久久久极品| 国产三级中文字幕粉嫩| 国产又粗又长又大的视频| 中日韩久久久免费看| www. 男人天堂成人在线| 97bbn| 亚洲 欧美 综合 91| 欧美综合网1| 91nbbbbbb| 久久 久久国内精品亚洲| 欧美亚洲宗合色性图| 91久久久老司机| 免费亚洲国产精品久久一区| 国产AB视频| 人妻第一页| 啊啊啊好多水| 伦激情人妻另类人妻| 一个国产在线综合网站| caoni国产亚洲av| 久久高清欧美国产| 中文字幕在线播放2中文字幕在线观看2| 色婷婷五月综合| 少妇国产不卡| 3PAV乱伦视频| 天天摸夜夜添无码小视频| 国产综合网站在线播放 | 亚洲天堂久| 青青久久艹| 久久国产AⅤ| 国产专区第一页| 韩国黄片aaaa| 亚洲精品天天影视综合网 | 99色网| 免费a级毛片av无码久久精品中文字幕| 91在线精品一区二区三区| 日韩黄色av中文字幕| 亚洲性爱无码乱伦av| 色婷婷丁香五月| 91亚洲影院综合| WWW美腿丝袜香蕉中文| 99999re| 国产自产自拍| 欧美黑人性猛交91| 久草老司机| 国产呦精品系列在线观看| 国产美女mm131爽爽爽爽| 一区二区三区精品黑丝白丝酒店对鸡 | 丁香六月激情| 丰满精品人妻少妇久久字幕| 啪啪啪男女亚洲中文字幕99| 五月婷婷丁香六月丁香| 久久久中文| 精品乱码久久久久| 蜜臀视频网站| 亚洲AV无码国产成人| 色第一页| 丝袜美腿亚洲| 亚欧国产无码精品在线| 久久精品老司| 国产色产精品在线观看| 色综合久| 夜夜做夜夜爽精品视频| 收看日本人日bb| 美女诱惑爱爱| 东京热,男人的天堂| 成人aⅴ一区二区三区| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 中文字幕乱偷人妻久久艾草网| 操国产高清| 另类天堂| 乱人乱色一区二区三区免费| 岛国视频免费在线观看| 一本一首道人妻少妇免费久久| 亚洲国产精品成人久久蜜臀| 色情综合| 密臀在线视频| 六月丁香久久| 日日摸日日弄日日拍| 九九探花视频在线观看| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 亚洲国产综合视频| 91亚洲黑人| 91丝袜美女视频| 久久久久人妻| 欧美高清色| 亚洲欧美精品一区天堂久久 | 青青草在线成人视频| 大香蕉综合网| 无码91| 欧美一区二区三区不卡高清视频| 麻豆天美国美国产| 亚洲在线网站| 久久久久久中文版| 无码精品久久久天天影视| 都市激情人妻一区二区青青操视频| 久久欲| 久草热制服丝袜在线观看| 6080YYY午夜理论片在线观看| 国产精品 午夜福利| se吧提供国产乱老熟视频胖女人| 美女97超碰| 亚洲三区视频| 人妻丰满熟妇av无码区蜜桃| 久久亚洲婷婷| 国内伊人久久久久久网站视频| 日本熟妇熟色97一本在线观看| 欧美影院一区二区三区| 91撸色网 玖玖网 欧美| 日韩一性一交一A片俄罗斯| 色九九九九九九| 精品久久一区二区三区四区五区| 日本操逼视频免费| 亚洲欧美日产国产91毛片| 2021久久国产综合精品青草| 在线洲亚线| 狼人综合婷婷激情四射 | 九九精品热| 日本精品一区二区三区四区的功能| 欧美人妻精品| 91天天综合日韩欧美| 97内射偷拍| 欧美 日韩 亚洲 春色| 91美女視頻| 五月色综合| 欧美性爱精品七区| 亚州男人的天堂| 色色激情五月天| 日本人妻最新在线中| 极品后入免费视频| 超碰av在线| 亚欧无码线免费观看视频| 超碰97在线色男人??| 夂久色| 中文精品一区二去| 熟妇人妻精品一区二区| 欧美国产视频| 九九热精品| 性久久| 久久久亚洲| 国产精品久久久久久9999| 夜夜肏2021| 无码人妻丰满热妇又大又粗| 偷拍综合网| 久久久久九九九九九| 青青草视频爽一爽| 欧美黄色片AAAAA| 岛国福利在线精品播放| 在线天堂资源亚洲| 中文字幕在线2| 奸色色 男人天堂 天天射| 国产亚州高清国产拍精| 久久透逼视频| 亚洲中文字幕熟女少妇一区二区| 欧美性生活内射| 一区二区久久天天干狠狠| 国产精品午夜高潮呻吟久久av| A级国产欧美激情在线| 嗯嗯不要 视频| 五月天亚洲网| 91丝袜在线视频| 无码直播久久久| 久草色在线观看| 男人网站婷婷| 欧美中文字幕一区 | 久久久久日本视| 九九色影院| 欧亚性爱啪啪| 影音先锋视频在线| 无码区蜜乳| 天堂69亚洲精品中文字| 国产精品第一页国产大屁股视频免费区| 偷拍综合亚洲| 77国产精品| www.AV有限公司一区| 99啪啪视频| 嗯~啊~快点 死我视频| 人人乐大香蕉| 激情自拍 校园春色| 亚洲日本韩国在线| 久湿久久| 蜜屁Av| 欧美久久久15P| 96AV久久久| 亚洲男人的天堂一区二区| 97人肏| 日韩精品.久久精品.AV女优.天美传媒| 91chinese在线| 婷婷五月丁香五月| 欧美日韩丝袜 | 欧日韩一二三f区| 夜夜黄| 久久久偷拍| 97爱爱爱| 色屁屁影院www国产| 2017人人操,人人摸| 久久久久亚洲av综合波多野制衣| 中国一级操逼视频| 免费伦费视频在线观看| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 欧美乱妇狂野欧美在线视频| 性爱AV天堂| 亚洲欧美日韩中文久久自慰| 天天影视91看看| 99热销国产这里有精品| 97在线视频观看| 亚洲另类小说卡通动漫| 日韩性爱电影一区 | 97视频在线播放| 日本黄色精品专区网站| av日韩国产一区二区| 免费精品福利在线观看| 少妇 综合| 夜草欧美| 99热婷婷一区二区三| 国产精品熟女乱伦| 欧美碰碰综合色| 久久精品噜噜噜成人看免欧美大片| 欧美丝袜91| 日本一区二区中文字幕久久| 不卡av在线中文字幕| 殴美大黄片| 色妺妺在线视频| 都市激情人妻一区二区青青操视频| 久久精品一区一起草| 蜜臀久久99精品久久久久久-DVD原版全| 青娱乐福利99| 自拍鲍鱼一区在线高清观看免费| 亚洲中文字幕妇伦久久| 亚洲。天堂。日本在线观看| 九九九九九九视频免费| 欧美日韩性爱无码| 116美女午夜| 中出20p| 你懂的在线观看区国产| 久操大香蕉| 亚洲精品骚逼| 久久综合97| 亚洲va有码在线天堂| 色综合色色| 欧美页片| 精品九九| 欧美日韩成人| 96精品一区| 国产超碰AV在线精品| 天天操综合网| 天天情欲宗合网| 2019精品国产无码成人| 综合婷婷| 性九九九九九九| 亚洲春色欧美激情自拍| 精品少妇一区二区三区免费观看| 亚洲综合伊人| 精品人妻1区| 丝袜制服字幕在线| 欧美78P| 日韩中文字幕视频在线观看| 四虎免费看黄| 中国一级αV| 婷婷久久五月天| 后入式999| 一区二区三区黄片免费观看| 午夜呻吟欧美| 九九碰九九爱97超碰| 激情五月婷婷| 一二三四区电影| 日韩乱中文| 伊人久久亚洲中文字幕不卡| 欧美操人视频| 色性荡荡荡荡视频| 欧美性天天| 好吊色在线观看| 97干在线视频| 丰满人妻一区二区三区免费,| 揉揉揉夜夜| 色狠狠综合| 久久久月天| 国产精品成人无码av| 91狠狠狠| 天天爽人人综合免费7799| 精品大全99999| 久久精品色欧美aⅴ一区二区| 热的中文 热的有码 热的国产| 日日噜噜夜夜狠狠视频无| wwe 天天干.com| 欧美性爱第一页久久| 亚洲综合113页| 国产辣妈在线视频福利| 欧美激情一区二区| 免费人成在线观看网站品爱网| 97干天天| 亚洲天堂人妻熟妇视频| 97爱啪| 97碰在线视频| 久久人妻| 99国产精品久久久久久久成人热 | 在线另类| 亚洲天天操| 中文字幕55555| 性在久久久久久| 亚洲在线观看| 精品少妇后入一区二区三区四区人妻巨乳| 啊啊啊网站| 国产精品 午夜福利| 综合 欧美 亚洲 日本| 亚洲色天堂九9| 怡红院网站在线视频| 五月天婷婷色色| 国产美女高潮| 免费成人在线熟妇网| 天天看,天天做| 91亚洲电影| 男人久久精品| 国产激情久久久| 日韩免费a级毛片无码a∨| 欧美人妻色| 日本精品成人无码| 国产精品美女久久久久久网站| 人妻酒店出差被中出免费在线播放| 92午夜免费福利视频| 亚洲欧美黄| 青青欧洲黑| 天美传媒一二三区永久网站| 日本三级A片网站com| 亚州色图欧美色图| 麻豆福利视频导航| 综合激情五月天| 日韩欧洲操屄视频| 亚洲精品97p| 9超碰免费| www久久99| 在线岛国新天堂8| 啊啊啊啊免费视频| 亚洲视频二区| 欧美熟爽综合| 一区二区三区精品视频| 久久久久亚洲熟妇熟女| 2017天天操天天日| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 九九久久久| 人妻丝袜肏逼| 97蜜桃综合| 凹凸视频特色日本特黄| 性饥渴少妇av无码毛片| 91久久国产精品| 久久久久密臀视频| 99热这里只有精| 国产精品亚洲免费| 久久精品毛片免费不卡| 亚洲无992tv| 无码粉嫩白虎一线天b区| 伊人久久亚洲中文字幕不卡| 欧美黑人猛交春色影视大全| 探花激情视频| 可以在线观看AV的网站| 日本人妻伦在线中文字幕| 欧美九九九| 国产熟女自拍| 欧美91精彩| 欧美一二在线| 91丝袜美女| 十八禁网站在线| 天天操天天插| 超碰国产在线| 97人妻碰碰中文无码久热丝袜| 久久av成人无码免费| 影视综合无码少妇| 看免费的黄片| av网站国产主播在线| 青青草中文字幕| 9久久精品| 中文字幕人妻丝袜乱一区三区| 国产不卡的视频| 天天操天天7| 超碰这里有精品| 91亚洲丝袜| 亚洲综合色在线| 亚洲AV在线资源| 蜜臀th| 俺也射| 国产视频97| 欧美亚洲中文字幕| 国产色精品午夜大片| 欧亚乱色熟女一区二区| 精品亚洲国产成人av网站| 一区二区三区黄色片a| 国产最新小视频在线播放下载| 色操逼网| 国产aⅴ无码片毛片一级网站| 久久成人午夜精品影院 | 欧亚日韩三区| 很很很很操| 尤物视频偷拍免费| 丝袜加勒比| 天堂成人网| 试看60秒 爽| 思思视频免费看网站| 午夜操逼不卡| 一级特级aaaa毛片免费观看 | 人妻日日夜夜精品| 婷婷色香| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 综合97亚洲| 精品二区三四区五电影 | 青娱乐国产精品| 国产精品久久伊人| 人妻激情另类| 天天看人人操屄犊摸阴| 操淫穴亚洲五月丁香| 日本一卡二区在线| 亚洲欧美首页| 7777奇米影视久久| 国产激情片在线观看| 超碰97起碰| 91N综合在线| 久久精品国产97欧美精品亚洲| 性色aV一区二区三区噜噜| 92性色国产午夜福利在线661| 亚洲精品天堂久久A∨51成人漫| 亚洲国产欧美中文永久| 国内精品999| 免费国产电影一区二区| 日本精品网站在线中文| 91夜色| 青青草色AV| 九九九九九九九| 国产97综合| 91性情| 国产精品青草综合久久| 欧美操人| 日韩欧美传媒一区国产| 男女猛烈无遮掩视频免费软件| 麻豆成人AV| 91超级碰| 色成人Www精品永久观看| 日韩另类| 青青久操| 欧美九九九九九| 大香蕉伊人亚洲| 欧洲一区二区三区四区在线观看| 久久久久久久9999| 丁香六月激情| 亚洲色人妻综合| 97在线观看免费| 国产精品久久久久久久久久梁医生| 国产激情av女片自拍| 18一区二区三区| 蜜桃网熟妇| 2017人人操,人人摸| 国产剧情一区在线观看| 欧美91色| 国产精品日韩在线一区| 丰满人妻-区二区三区免费| 国产一区二区三区,在线观看观看| 久久免费少妇| 久久综合婷婷| 亚洲综合色在线| 26uuu偷拍亚洲欧洲综合| 女人天堂AV五区在线| 久9爱精品| 日本五十路熟女一区二区| 99在线观看无大码| 国产免费一区2区3区| 久久99综合| 亚洲蜜臀精品视频久久| a v网站在线播放| 97国产色图 | 久久精品 六十路 熟女 欧美| 屌逼麻豆| 老司机香蕉| 大香蕉乱伦视频网| 日韩青久久| 一区二区三区四区免费视频| 97超级欧美| 亚洲国产精品成人综合| 欧美三级一级| 韩国一级做a久久久久| caorenqi shipin| 91中文字幕制服丝袜免费视频| av国产无码| 国产97色在线 | 亚洲| 国产黄色av大片网站| 日本三级韩国三级美三级91| 国产操伦| 中文字幕综合人妻| 国产高清无码一区三区二区| 欧美91在线+|+欧美| 国产欧美日韩一区二区三区| 国产 热久久久久国产精品| 久久久久久人妻| 国产在线激情| 婷婷综合| 丝袜美腿av女优在线| 美国美女AV在线| 男女啪啪网站免费视频| 国内黄色精品| 丰满人妻一区二区三区性色| 欧亚日韩三区| 婷婷丁香五月天综合东京热| 精品中文一区二区| 国产精品三级视频网站| 老熟女综合网| 亚洲综合97中文网| 亚洲无码国产探花在线观看| 一本一首道人妻少妇免费久久| 国产成人综合在线播放| 中文字幕色AV| 日韩人妻精品久久久久| 国产一区二区三区高清视频| 久久少妇视频| 强奸乱伦日韩AV| 亚洲高清91| 免费看污网站| 中日韩熟女| 啊啊啊啊免费视频| 国产久久久9999| 亚洲AV性爱电影| 男人天堂新| 麻豆天美制片厂网站视频| 口爆吞精在线观看| 人妻熟妇一区二区三区| 精品人妻1237| 屁屁影院一区二区三区国产| 人妻第一页| 北京美女一区二区| 国产成人+综合亚洲+天堂| 日本一级真人黄色性爱视频| 97精品综合久久网| 色色色网站| 国产99精品一区二区三区免费| 亚洲黄色电影| 亚洲熟女乱熟乱熟妇综合网二区| 国产亚洲色婷婷久久99精品91葵花宝典 | 青青草狠狠撸| 亚洲 91 在线| 亚洲美女自拍偷拍视频| 干超碰碰熟女| 少好三P| 大香蕉天天看妹子| 久久婷综合| 色综合久久av| 香蕉视频欧美一卡二卡| 天天操天天7| 91 丝袜在线| av72网| 日本欧美韩国日产片片在线看免| 隔壁邻居波多野结衣中文字幕 | 国产亚洲女v在线观看| 自拍六区| 欧美激情亚洲情色| 97大色网| 婷婷五月天补不补| 偷窥自拍A片| 欧美日产国产在线成人第一区| 亚洲自拍97| 亚洲欧美国产精品久久久久久久| 亚洲欧洲日产国产综合网| oumeisetu综合| 2018色综合天天操| 国产操操日韩三级黄| 欧州一区二区三区四区| 久久久久久久91| 91欧美少妇| 东北操逼| 很很很很操| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 欧美天天谢综合网| 美女超碰978| 五月丁香综合| 日韩成人大片在线观看| 性在久久久久久| 欧美少妇色综合| 天天看天天日天天操| 天美传媒精品久久视频| 青青操视频在线| 欧美少妇高潮久久91| 九九九九日本| 久久偷拍人| 第四色亚洲色图| 亚洲综合码| 日韩久久超碰色| 精品国产污一区二区三区| 丝袜六区| 久久精品一区二区三区不卡| 99热精品免费| 在线 制服丝袜中出 人妻| 操91| 久久国产视频性吧| 日本高清电影欧美色图| 吻戏激情性巴克| 夜夜操二区| 日韩情色视频| 精品免费一区二区三区在线亚洲人成| 夜夜一区二区| 91逼逼女人91| 天天综合香 ld视频| 污污污8888| 亚洲熟女一区| 日韩熟女视频二区| 久久蜜桃一区二区| 97国产精品一区二区传媒公司| 91美女在线| 成 人 A V免费视频在线观看| 精品国模无码| 在线观看无码三级少妇|