簡體   English   中英

尚未安裝 package 上的 VS Code Pylint 未解決導入

[英]VS Code Pylint unresolved import on not yet installed package

我的 package 的結構如下:

package
|___package
|        |_subpackage
|        |            |_ __init__.py
|        |            |_ module_Y.py
|        |_ __init__.py
|        |_ module_X.py
|_ main.py
|_ setup.py

我的__init__.py文件都是空的,並且module_Y.pyfrom package import module_X的行。

我還沒有安裝 package,因為它甚至還沒有遠程工作,但我希望 Pylint 能夠理解module_Y.py中的導入語句將是正確的。 我知道這一定是可能的,因為克隆TF-Agents的 repo 並在 VS 代碼中打開它,即使我還沒有安裝 TF-agents repo,pylint 也能理解文件1中的引用。

我知道我可以使用像from.. import module_X這樣的相對導入,而且我知道我可以禁用這些 pylint 警告,但這兩個我是一半的解決方案。 第一個不像from package import module_X的聲明那樣干凈和清晰,第二個解決方案可能沒有告訴我實際上有什么問題。

我錯過了什么?

1tf_agents/agents/dqn/dqn_agent.py ,它能夠解析對tf_agents.policies的導入

根據您的描述,我重現了這個問題,以下是我的解決方案,您可以參考:

方式一:

  1. 請在文件“ module_Y.py ”開頭添加如下代碼,將文件路徑添加到上一級目錄“ package ”:
 import sys sys.path.append("..")
  1. 請在“ launch.json ”中設置"cwd": "${fileDirname}", ”;

  2. 點擊F5調試代碼:(由於這個警告不影響代碼的使用,我們可以在代碼可用后關閉:使用"python.analysis.disabled": [ "unresolved-import" ],在settings. json)

    在此處輸入圖像描述

方式二:

或者你也可以在“ launch.json ”中設置:(將當前工作空間的文件夾路徑添加到系統路徑中。)

 "env": { "PYTHONPATH": "${workspaceFolder}" },

在此處輸入圖像描述

暫無
暫無

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

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