[英]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.