0

我正在使用安装在/opt/confd/src/confd/pyapi/.

$PYTHONPATH的设置为/opt/confd/src/confd/pyapi.

的输出python -c 'import sys; print(sys.path)'

['', '/opt/confd/src/confd/pyapi', '/usr/lib/python39.zip', '/usr/lib/python3.9', '/usr/lib/python3.9/lib-dynload', '/home/kkovacs/.local/lib/python3.9/site-packages', '/usr/local/lib/python3.9/dist-packages', '/usr/lib/python3/dist-packages']

所以我很确定 pyright 应该能够找到该模块。当我使用时python -i,我可以导入模块并很好地使用它。然而,像这样运行 pyrightpython -m pyright oss_confd_manager.py --verbose会导致这个结果(向右滚动查看我的注释):

npx: installed 1 in 1.167s
No configuration file found.
pyproject.toml file found at /mnt/c/Users/kkovacsgamma01/home/oss_97542.
Loading pyproject.toml file at /mnt/c/Users/kkovacsgamma01/home/oss_97542/pyproject.toml
Assuming Python version 3.9
Assuming Python platform Linux
Auto-excluding **/node_modules
Auto-excluding **/__pycache__
Auto-excluding .git
stubPath /mnt/c/Users/kkovacsgamma01/home/oss_97542/typings is not a valid directory.
Search paths for /mnt/c/Users/kkovacsgamma01/home/oss_97542
  /home/kkovacs/.npm/_npx/18315/lib/node_modules/pyright/dist/typeshed-fallback/stdlib
  /mnt/c/Users/kkovacsgamma01/home/oss_97542
  /mnt/c/Users/kkovacsgamma01/home/oss_97542/typings
  /home/kkovacs/.npm/_npx/18315/lib/node_modules/pyright/dist/typeshed-fallback/stubs/...
  /opt/confd/src/confd/pyapi          <========================================================================================================================================== correct search path is here
  /usr/lib/python3.9
  /usr/lib/python3.9/lib-dynload
  /home/kkovacs/.local/lib/python3.9/site-packages
  /usr/local/lib/python3.9/dist-packages
  /usr/lib/python3/dist-packages
Searching for source files
File or directory "/mnt/c/Users/kkovacsgamma01/home/oss_97542/confd-oss/python/--" does not exist.
Found 1 source file

... some output omitted ...

Could not import '_confd.dp' in file '/mnt/c/Users/kkovacsgamma01/home/oss_97542/confd-oss/python/oss_confd_manager.py'
  Looking for typeshed stdlib path
  Attempting to resolve using root path '/home/kkovacs/.npm/_npx/18315/lib/node_modules/pyright/dist/typeshed-fallback/stdlib'
  Typeshed path not found
  Looking in stubPath '/mnt/c/Users/kkovacsgamma01/home/oss_97542/typings'
  Attempting to resolve stub package using root path '/mnt/c/Users/kkovacsgamma01/home/oss_97542/typings'
  Attempting to resolve using root path '/mnt/c/Users/kkovacsgamma01/home/oss_97542/typings'
  Looking in root directory of execution environment '/mnt/c/Users/kkovacsgamma01/home/oss_97542'
  Attempting to resolve stub package using root path '/mnt/c/Users/kkovacsgamma01/home/oss_97542'
  Attempting to resolve using root path '/mnt/c/Users/kkovacsgamma01/home/oss_97542'
  Looking in python search path '/opt/confd/src/confd/pyapi'
  Attempting to resolve stub package using root path '/opt/confd/src/confd/pyapi'
  Attempting to resolve using root path '/opt/confd/src/confd/pyapi'
  Resolved import with file '/opt/confd/src/confd/pyapi/_confd/__init__.py'      <================================================================================================= it says it resolved this import...
  Looking in python search path '/usr/lib/python3.9'
  Attempting to resolve stub package using root path '/usr/lib/python3.9'
  Attempting to resolve using root path '/usr/lib/python3.9'
  Looking in python search path '/usr/lib/python3.9/lib-dynload'
  Attempting to resolve stub package using root path '/usr/lib/python3.9/lib-dynload'
  Attempting to resolve using root path '/usr/lib/python3.9/lib-dynload'
  Looking in python search path '/home/kkovacs/.local/lib/python3.9/site-packages'
  Attempting to resolve stub package using root path '/home/kkovacs/.local/lib/python3.9/site-packages'
  Attempting to resolve using root path '/home/kkovacs/.local/lib/python3.9/site-packages'
  Looking in python search path '/usr/local/lib/python3.9/dist-packages'
  Attempting to resolve stub package using root path '/usr/local/lib/python3.9/dist-packages'
  Attempting to resolve using root path '/usr/local/lib/python3.9/dist-packages'
  Looking in python search path '/usr/lib/python3/dist-packages'
  Attempting to resolve stub package using root path '/usr/lib/python3/dist-packages'
  Attempting to resolve using root path '/usr/lib/python3/dist-packages'
  Looking for typeshed path
  Looking for typeshed stubs path
  Typeshed path not found
/mnt/c/Users/kkovacsgamma01/home/oss_97542/confd-oss/python/oss_confd_manager.py
  /mnt/c/Users/kkovacsgamma01/home/oss_97542/confd-oss/python/oss_confd_manager.py:6:8 - error: Import "oss_ns" could not be resolved (reportMissingImports)
  /mnt/c/Users/kkovacsgamma01/home/oss_97542/confd-oss/python/oss_confd_manager.py:7:8 - warning: Stub file not found for "_confd" (reportMissingTypeStubs)
  /mnt/c/Users/kkovacsgamma01/home/oss_97542/confd-oss/python/oss_confd_manager.py:8:8 - error: Import "_confd.dp" could not be resolved (reportMissingImports)      <========================================== the import failed :(
  /mnt/c/Users/kkovacsgamma01/home/oss_97542/confd-oss/python/oss_confd_manager.py:9:8 - error: Import "_confd.maapi" could not be resolved (reportMissingImports)
  /mnt/c/Users/kkovacsgamma01/home/oss_97542/confd-oss/python/oss_confd_manager.py:19:25 - warning: 

... more errors ...

3 errors, 48 warnings, 13 infos
Completed in 0.705sec

我不确定为什么会这样。我想我不完全理解模块是如何解决的。我以为既然模块在搜索路径中,pyright应该能找到它。此外,我可以在交互式解释器中导入模块,但 pyright 不知道是什么,这对我来说很奇怪_confd.dp

如何获得 pyright 以正确检测此模块并导入它?

4

0 回答 0