fix: Fix import paths with site-packages
as part of package name
#756
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This is another fix, related to #722, i just started using
python-lsp-server
andrope
for autoimports, and noticed it includes.direnv.python-3.11.lib.python3.11
as part of module name when importing.We need to cut part of the path to site-packages, to generate correct import name.That was my first attempt to fix this, but turned that wasn't a problem. The problem was, in my case - that local venv
.venv
was included in project resources.As far as i understand, we have two caches
generate_cache
creates project-specific cachegenerate_module_cache
creates cache of system/venv modules.And when .venv is in the same dir as a project, it was included in project files.
My current first attempt just filters out path if it has "site-packages" in it, but, maybe we need smarter solution, for example:
get_python_files
should exclude any file fromget_python_path_folders
(except project root).For this i need some guidance, @tkrabel @lieryan
Checklist (delete if not relevant):