-
Notifications
You must be signed in to change notification settings - Fork 774
Support path (*.pth) files in extra paths #1709
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@pawamoy which language server are you using ( |
"Default" is selected. |
And Pylance is installed so I guess it's Pylance! |
Does it mean I should reopen on https://github.com/microsoft/pylance-release instead? |
I can transfer this to the pylance repo. |
Firstly, we don't currently support We do support To be clear, you're looking for us to try and scan directories in |
Hmmmmm. Then it's strange: it should already work, here is why. PDM offers a command that outputs shell commands to automatically enable PEP582 for the Python interpreter. % pdm --pep582
if [ -n "$PYTHONPATH" ]; then
export PYTHONPATH='/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep582':$PYTHONPATH
else
export PYTHONPATH='/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep582'
fi My shell runs these commands at each startup. So my PYTHONPATH is always at least: % echo $PYTHONPATH
/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep582 This folder has a Eventually, it makes my Python interpreter able to find packages under % python -c "import sys; print('\n'.join(sys.path))"
/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.9.5/lib/python39.zip
/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.9.5/lib/python3.9
/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.9.5/lib/python3.9/lib-dynload
/media/data/dev/python/duty/__pypackages__/3.9/lib
/home/pawamoy/.cache/pdm/packages/ansimarkup-1.5.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/appdirs-1.4.4-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/astor-0.8.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/attrs-21.2.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/autoflake-1.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/bandit-1.7.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/black-20.8b1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/certifi-2021.5.30-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/charset_normalizer-2.0.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/click-8.0.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/colorama-0.4.4-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/coverage-5.5-cp39-cp39-manylinux2010_x86_64/lib
/home/pawamoy/.cache/pdm/packages/darglint-1.8.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/dparse-0.5.1-py3-none-any/lib
/media/data/dev/python/duty/src
/home/pawamoy/.cache/pdm/packages/execnet-1.9.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/failprint-0.8.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8-3.9.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_bandit-2.1.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_black-0.2.3-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_bugbear-21.4.3-py36.py37.py38-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_builtins-1.5.3-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_comprehensions-3.5.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_docstrings-1.6.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_plugin_utils-1.3.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_polyfill-1.0.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_pytest_style-1.5.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_string_format-0.3.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_tidy_imports-4.3.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_variables_names-0.0.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/ghp_import-2.0.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/git_changelog-0.4.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/gitdb-4.0.7-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/GitPython-3.1.20-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/idna-3.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/importlib_metadata-4.6.3-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/iniconfig-1.1.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/isort-5.8.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/Jinja2-2.11.3-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/Markdown-3.3.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64/lib
/home/pawamoy/.cache/pdm/packages/mccabe-0.6.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mergedeep-1.3.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs-1.2.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_autorefs-0.2.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_coverage-0.2.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_gen_files-0.3.3-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_literate_nav-0.4.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_material-7.2.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_material_extensions-1.0.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocstrings-0.15.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mypy-0.910-cp39-cp39-manylinux2010_x86_64/lib
/home/pawamoy/.cache/pdm/packages/mypy_extensions-0.4.3-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/packaging-21.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pathspec-0.9.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pbr-5.6.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pep8_naming-0.12.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pluggy-0.13.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/poetry_semver-0.1.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/ptyprocess-0.7.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/py-1.10.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pycodestyle-2.7.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pydocstyle-6.1.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pyflakes-2.3.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/Pygments-2.9.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pymdown_extensions-8.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pyparsing-2.4.7-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest-6.2.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_cov-2.12.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_forked-1.3.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_randomly-3.8.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_sugar-0.9.4-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_xdist-2.3.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/python_dateutil-2.8.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytkdocs-0.11.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64/lib
/home/pawamoy/.cache/pdm/packages/pyyaml_env_tag-0.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/regex-2021.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64/lib
/home/pawamoy/.cache/pdm/packages/requests-2.26.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/safety-1.10.3-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/setuptools-57.4.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/six-1.16.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/skjold-0.3.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/smmap-4.0.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/snowballstemmer-2.1.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/stevedore-3.3.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/termcolor-1.1.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/toml-0.10.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/typed_ast-1.4.3-cp39-cp39-manylinux1_x86_64/lib
/home/pawamoy/.cache/pdm/packages/typing_extensions-3.10.0.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/urllib3-1.26.6-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/watchdog-2.1.3-py3-none-manylinux2014_x86_64/lib
/home/pawamoy/.cache/pdm/packages/wps_light-0.15.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/zipp-3.5.0-py3-none-any/lib
/home/pawamoy/.local/lib/python3.9/site-packages
/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.9.5/lib/python3.9/site-packages Now, since I run VSCode using the same system user, and since VSCode seems to start Python process in my user's default shell (currently Zsh), all this machinery is enabled in VSCode as well. Indeed, if I select my system Python as the interpreter, and I run the following file using the following run configuration: import sys
print("\n".join(sys.path)) {
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
} It prints the same paths, except for some of them which are now the system paths instead of the pyenv ones: % cd /media/data/dev/python/duty ; /usr/bin/env /usr/bin/python /home/pawamoy/.vscode/extensions/ms-python.python-2021.8.1147840270/pythonFiles/lib/python/debugpy/launcher 43833 -- /media/data/dev/python/duty/pathfiles.py
/media/data/dev/python/duty
/usr/lib/python39.zip
/usr/lib/python3.9
/usr/lib/python3.9/lib-dynload
/media/data/dev/python/duty/__pypackages__/3.9/lib
/home/pawamoy/.cache/pdm/packages/ansimarkup-1.5.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/appdirs-1.4.4-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/astor-0.8.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/attrs-21.2.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/autoflake-1.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/bandit-1.7.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/black-20.8b1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/certifi-2021.5.30-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/charset_normalizer-2.0.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/click-8.0.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/colorama-0.4.4-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/coverage-5.5-cp39-cp39-manylinux2010_x86_64/lib
/home/pawamoy/.cache/pdm/packages/darglint-1.8.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/dparse-0.5.1-py3-none-any/lib
/media/data/dev/python/duty/src
/home/pawamoy/.cache/pdm/packages/execnet-1.9.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/failprint-0.8.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8-3.9.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_bandit-2.1.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_black-0.2.3-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_bugbear-21.4.3-py36.py37.py38-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_builtins-1.5.3-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_comprehensions-3.5.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_docstrings-1.6.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_plugin_utils-1.3.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_polyfill-1.0.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_pytest_style-1.5.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_string_format-0.3.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_tidy_imports-4.3.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/flake8_variables_names-0.0.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/ghp_import-2.0.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/git_changelog-0.4.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/gitdb-4.0.7-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/GitPython-3.1.20-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/idna-3.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/importlib_metadata-4.6.3-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/iniconfig-1.1.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/isort-5.8.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/Jinja2-2.11.3-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/Markdown-3.3.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64/lib
/home/pawamoy/.cache/pdm/packages/mccabe-0.6.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mergedeep-1.3.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs-1.2.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_autorefs-0.2.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_coverage-0.2.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_gen_files-0.3.3-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_literate_nav-0.4.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_material-7.2.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocs_material_extensions-1.0.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mkdocstrings-0.15.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/mypy-0.910-cp39-cp39-manylinux2010_x86_64/lib
/home/pawamoy/.cache/pdm/packages/mypy_extensions-0.4.3-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/packaging-21.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pathspec-0.9.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pbr-5.6.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pep8_naming-0.12.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pluggy-0.13.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/poetry_semver-0.1.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/ptyprocess-0.7.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/py-1.10.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pycodestyle-2.7.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pydocstyle-6.1.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pyflakes-2.3.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/Pygments-2.9.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pymdown_extensions-8.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pyparsing-2.4.7-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest-6.2.4-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_cov-2.12.1-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_forked-1.3.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_randomly-3.8.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_sugar-0.9.4-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytest_xdist-2.3.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/python_dateutil-2.8.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/pytkdocs-0.11.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64/lib
/home/pawamoy/.cache/pdm/packages/pyyaml_env_tag-0.1-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/regex-2021.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64/lib
/home/pawamoy/.cache/pdm/packages/requests-2.26.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/safety-1.10.3-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/setuptools-57.4.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/six-1.16.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/skjold-0.3.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/smmap-4.0.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/snowballstemmer-2.1.0-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/stevedore-3.3.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/termcolor-1.1.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/toml-0.10.2-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/typed_ast-1.4.3-cp39-cp39-manylinux1_x86_64/lib
/home/pawamoy/.cache/pdm/packages/typing_extensions-3.10.0.0-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/urllib3-1.26.6-py2.py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/watchdog-2.1.3-py3-none-manylinux2014_x86_64/lib
/home/pawamoy/.cache/pdm/packages/wps_light-0.15.2-py3-none-any/lib
/home/pawamoy/.cache/pdm/packages/zipp-3.5.0-py3-none-any/lib
/home/pawamoy/.local/lib/python3.9/site-packages
/usr/lib/python3.9/site-packages In the end, if VSCode queries Python to get the paths to scan, shouldn't extra paths work for autocomplete and analysis as well, even with .pth files in them?
But maybe I'm missing something here, like different execution environments/conditions? |
Can you provide trace logs from Pylance so we can see what interpreter and paths it is using?
|
Something like this?
|
Yes, exactly. Is This could also be an instance of your python being special and handling |
In a terminal
That could explain the difference, but then again the Pylance logs show that EDIT: ah! wait. If you don't run it in the workspace, then the |
The fact that this whole thing relies on the directory you execute python in is really problematic (even further than what I mentioned in #1441, as now we can't even trust the interpreter to do the right thing). I'm not entirely certain what to do here. We could try and remove our code that prevents the running of the We could reuse the code we use for |
I see. Getting the expected paths in a workspace is probably much more complicated than I can imagine. I would be OK with the second solution you mention. PDM itself documents that you need to add extra path to work in VSCode. For a better, long-term solution, I guess we'd have to engage with core Python developers, at https://discuss.python.org/t/pep-582-python-local-packages-directory/963 (if you are not already doing so Thank you very much @jakebailey for your time and help! Let me know if I can help in any way if you wish to proceed forward. |
I've implemented a prototype of the second solution and it does work (for simple |
I'll gladly test your prototype if it's possible! Just let me know 🙂 And thanks! |
We're probably going to take that second solution for now, as it's the least destructive. One consideration is handling recursive pths, meaning pths that point to directories that also contain pth files. I haven't been able to get PDM set up on my machine yet; can you see if you install |
@jakebailey That is not necessary IMHO. The Python interpreter recognizes all Thanks for your effort again. |
Great, I'll get my fix in for tomorrow. I do wonder how that affects libs that do contain pth files; would PDM see this and fall back on regular copying? This is somewhat similar to how yarn works with PnP. |
Yes, .pth files are copied |
The next release will parse out pth files in extraPath folders into extraPaths as well, so this should be fixed. Further discussion of PEP 582 in general can go on #1441. |
Thanks a lot @jakebailey, that was fast! |
the fix is in 2021.8.3 release. |
I'm using PDM to develop Python projects. It has a really nice feature where instead of installing the dependencies in
__pypackages__
directly, it installs them in a cache folder, and writes .pth files pointing to them in__pypackages__
. It allows deduplication across projects, which saves a tremendous amount of disk-space, and also makes installs faster.To work with PDM+VSCode, I use this configuration: https://pdm.fming.dev/#vscode
However it seems that VSCode does not follow the .pth files, which really are just text files containing the path to the actual source file(s) on a single line:
I'd like VSCode to follow those .pth files to actually make autoComplete and analysis extra paths work.
If I understand correctly, a .pth file can contain comments starting with
#
, and an arbitrary number of paths (relative or absolute) separated by new lines:See https://docs.python.org/3/library/site.html.
The text was updated successfully, but these errors were encountered: