我正在使用安装在/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 以正确检测此模块并导入它?