簡體   English   中英

無法在 vscode 的 jupyter notebook 中使用導入

[英]Fail to use imports in jupyter notebook in vscode

我有一個非常簡單的代碼,可以在 Python 3.7 上順利運行:

import academic_data_settings as local_settings
import pandas as pd
import glob
import os

def get_all_data():
    all_files = glob.glob(os.path.join(local_settings.ACADEMIC_DATA_SOURCE_PATH, "*.csv"))
    df_from_each_file = [pd.read_csv(f) for f in all_files]
    concatenated_df = pd.concat(df_from_each_file, ignore_index=True)
    return concatenated_df

if __name__ == "__main__":
    raw_data = get_all_data()
    print(raw_data)

但是,很難將 pandas dataframe 中的數據可視化。

為了查看資料,我找到了下面這篇關於如何直接從VSCode使用Jupyter notebook的文章: https://devblogs.microsoft.com/python/data-science-with-python-in-visual-studio-code/

為了能夠看到 Python 交互 window,我需要將代碼轉換為 jupyter 單元格:

#%%
import academic_data_settings as local_settings
import pandas as pd
import glob
import os

def get_all_data():
    all_files = glob.glob(os.path.join(local_settings.ACADEMIC_DATA_SOURCE_PATH, "*.csv"))
    df_from_each_file = [pd.read_csv(f) for f in all_files]
    concatenated_df = pd.concat(df_from_each_file, ignore_index=True)
    return concatenated_df

if __name__ == "__main__":
    raw_data = get_all_data()
    print(raw_data)

一旦我嘗試運行或調試該單元,第一行就會出現異常:

import academic_data_settings as local_settings...
ModuleNotFoundError: No module named 'academic_data_settings'

我相信單元格評估只發送當前單元格的代碼。 那是對的嗎? 有沒有辦法讓導入正常工作? 我不想最終編寫 Jupyter 筆記本,然后將代碼復制到最終成為“生產”代碼的地方。

我有一個類似的問題。 我可以在 vscode 終端的 IPython 中導入模塊,但不能在 vscode interactive window(或 jupyter notebook)中導入模塊。

更改.vscode/settings.json文件

{
"python.pythonPath": "/MyPythonPath.../bin/python"
}

{
"python.pythonPath": "/MyPythonPath.../bin/python"
"jupyter.notebookFileRoot": "${workspaceFolder}"
}

為我解決了。

傑普。 我是這個擴展的開發人員,我想我知道根據這個評論這里發生了什么:

@Lamarus 它位於我運行的文件旁邊

VSCode python 交互功能使用與 jupyter 不同的相對加載路徑。 在 VSCode 中,相對路徑相對於您打開的文件夾/工作空間,而不是相對於文件的 jupyter。 要解決此問題,您可以將 Academic_data_settings 的路徑更改為相對於打開的文件夾,或者您可以將設置中的 Notebook File Root 設置為指向您希望此工作區成為工作根的位置。 如果您想對此進行投票,我們有一個錯誤支持在此處使用筆記本文件根目錄的當前文件位置。

https://github.com/microsoft/vscode-python/issues/4441

我想我遇到了類似的問題。 我對 python 還很陌生,最近我一直在嘗試自學如何構建基本庫,以便我可以重用代碼。 我關注了幾個關於如何構建庫以及在init .py 文件中放入什么內容的網站。 我正在測試我在 VS Code 中打開的 Jupyter 筆記本中所做的事情。 無論我似乎在做什么,我都會不斷收到像您這樣的錯誤消息。 當我嘗試在 Jupyter Lab 中運行相同的筆記本時,我的實驗庫就像在教程中一樣工作。 我還在終端中嘗試了交互式 session ,我再次得到了預期的行為,一切正常。 由於更流暢的文本預測和變量資源管理器,我對 VSCode 比 Jupyter Lab 稍有偏好。 但是,如果我無法讓我的庫正常工作,它確實會讓我失望。 我可能還會做更多的實驗,看看我是否可以讓 VS 代碼按應有的方式導入。 我不喜歡在 VS Code 中運行到 Jupyter Lab 時以不同方式編寫導入以工作的想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM