繁体   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