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