簡體   English   中英

無法從同一文件夾導入本地文件 - Reportmissingimport

[英]can't import local file from same folder - Reportmissingimport

我正在處理 Visual Studio 代碼,無法從項目文件夾中導入文件,該文件夾是項目的文件夾

一個代碼

import frame

在“框架”一詞上加下划線並產生以下 output:

Import "frame" could not be resolvedPylancereportMissingImports

我嘗試了很多關於 SO 上類似問題的解決方案,我檢查了全局變量 ComSpec,它的值是正確的 - C:\WINDOWS\system32\cmd.exe,我安裝了,我將"python.analysis.extraPaths"設置為["frame", "charts", "app"]並為python.defaultInterpreterPath (它之前的值只是 'python')。 有趣的是 - 我之前沒有settings.json 。json 值,我通過在 Visual Studio 代碼中打開設置自己創建它。它在.vscode settings.json

編輯:

將 Jupyter Notebooks 作為模塊導入的文檔

解決方案 1

我還使用import-ipynb找到了另一個答案,我將在下面粘貼:

從命令提示符安裝我的助手庫:

 pip install import-ipynb

從您的筆記本中導入它:

 import import_ipynb

現在import您的.ipynb筆記本,就好像它是一個.py文件一樣

import TheOtherNotebook

這個 python-ipynb 模塊只是一個文件,它嚴格遵守 jupyter 網站上的官方指南。

PS 它還支持from A import foofrom A import *

PPS 適用於子目錄: import AB

解決方案 2

在上面鏈接的同一個問題上,還有這個額外的答案也可能會有所幫助,我將其粘貼在下面:

!pip install ipynb

然后將另一個筆記本導入為

from ipynb.fs.full.<notebook_name> import *

或者

from ipynb.fs.full.<notebook_name> import <function_name>

確保所有筆記本都在同一個目錄中。

編輯1:您可以在此處查看官方文檔-https://ipynb.readthedocs.io/en/stable/

此外,如果您只想從筆記本導入 class 和 function 定義(而不是頂級語句),則可以使用 ipynb.fs.defs 而不是 ipynb.fs.full。 完整的大寫變量賦值也將被評估。


嘗試通過添加__init__.py文件將目錄轉換為 package。 這是它如何工作的示例:

目錄結構:

ProjectRoot:.
│   frame.py
│   other.py
│   __init__.py

frame.py

MSG = "Hello World"

other.py

import frame
print(frame.MSG)

__init__.py

# Empty file

如果你要運行other.py ,你會得到:

Hello World

這是python 導入系統文檔的鏈接

簡單直接的方法是將您的frame.ipynb文件轉換為.py文件。

在此處輸入圖像描述

在此處輸入圖像描述

還有關於"python.analysis.extraPaths"的配置。 腳本都在同一個文件夾下,此時不需要配置"python.analysis.extraPaths"

在此處輸入圖像描述

如果存在子文件夾,則配置如下:

    "python.analysis.extraPaths": [
        "./pyfile"
    ]

是路徑,不是文件名

在此處輸入圖像描述

是路徑,而不是文件名

暫無
暫無

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

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