[英]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.py
有from 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
的声明那样干净和清晰,第二个解决方案可能没有告诉我实际上有什么问题。
我错过了什么?
1以tf_agents/agents/dqn/dqn_agent.py
,它能够解析对tf_agents.policies
的导入
根据您的描述,我重现了这个问题,以下是我的解决方案,您可以参考:
方式一:
module_Y.py
”开头添加如下代码,将文件路径添加到上一级目录“ package
”:import sys sys.path.append("..")
请在“ launch.json ”中设置"cwd": "${fileDirname}",
”;
点击F5
调试代码:(由于这个警告不影响代码的使用,我们可以在代码可用后关闭:使用"python.analysis.disabled": [ "unresolved-import" ],
在settings. json)
方式二:
或者你也可以在“ launch.json
”中设置:(将当前工作空间的文件夹路径添加到系统路径中。)
"env": { "PYTHONPATH": "${workspaceFolder}" },
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.