常見問題#
為什麼 __file__ 沒有定義?我可以使用什麼?#
當執行腳本時,Python 定義的全域變數 __file__ 在 Jupyter 筆記本上沒有定義。由於 Sphinx-Gallery 支援筆記本風格的範例,並且也匯出到 Jupyter 筆記本,我們同意在執行範例腳本時將此變數排除在範圍之外。
請使用 os.getcwd()
來取得檔案所在的目錄,而不是 __file__。Sphinx-Gallery 在其原始目錄中執行範例腳本。
為什麼我的 Matplotlib 函數會輸出文字?#
Sphinx-Gallery 的輸出擷取行為在 Sphinx-Gallery v0.5.0 中有所改變。在 v0.5.0 之前,僅擷取導向標準輸出的資料(例如,僅 Matplotlib 圖形)。在 v0.5.0 中,新增了設定 'capture_repr'
(控制擷取哪些輸出)。此設定允許擷取每個程式碼區塊最後一個陳述式的「表示法」(如果它是表達式)。此新設定的預設值 'capture_repr': ('_repr_html_', '__repr__')
,首先嘗試擷取 '_repr_html_'
,如果不存在,則擷取 '__repr__'
。這表示如果最後一個陳述式是 Matplotlib 函數(通常會傳回值),則該值的表示法也會被擷取。
為了防止 Matplotlib 函數呼叫同時輸出文字和圖形,您可以將最後一個繪圖函數指派給暫時變數(例如,_ = matplotlib.pyploy.plot()
)或在程式碼區塊的末尾新增 matplotlib.pyplot.show()
(請參閱 控制擷取哪些輸出)。或者,您可以將 capture_repr
設定為空元組 ('capture_repr': ()
),這將模擬 v0.5.0 之前 Sphinx-Gallery 的行為。這也將防止您獲得任何在 v0.5.0 之前沒有發生的其他不必要的輸出。
為什麼我的縮圖外觀改變了?#
為了使縮圖具有響應性並在 css 網格上對齊,縮圖的 DOM 結構已進行重構。這些變更可能會使您現有的自訂 css 過時。您可以閱讀我們的 縮圖自訂 css 遷移指南,以獲取有關如何更新 css 的指引。
另請參閱