Перейти к содержимому

Почему vs code не видит библиотеку

  • автор:

Fix Python Unresolved Import in VSCode

Python is a computer programming language that is easy to learn and use. It is one of the most popular programming languages out there. In this digital age, where everyone is looking for ways to automate their business, Python is on the rise.

One of the many Python error that confuses beginners is Unresolved Import, which happens when the system cannot detect the Python module. In this article, we will show you a few ways to fix Unresolved Import in VSCode and avoid encountering it in the future.

Unresolved Import in VSCode

  • VSCode is using the wrong Python path. This is often the case if you’re running your code against a virtual environment. Each environment contains its own binary path that contains different set of package binaries, so a package in one specific virtual environment cannot be found by another and vice versa.
  • There might be a missing .env file at the root directory of your project that contains additional information about which directory to import modules from. Maybe you were opening VScode in the project’s root directory, however, your module lies in a nested sub directory (usually the src directory). By default, VSCode won’t look for modules in any other directory except it was added to PYTHONPATH environment variable, which can be set at runtime by placing an additional .env file at the root directory. However, this file is often ignored when people push their projects to public Github repository, as it may contain sensitive information.

Set the correct Python path in VSCode

In order to fix Unresolved Import in VSCode, you have to set python.pythonPath key in the settings to the correct value. You can quickly open the settings.json editor by accessing File > Preferences or press Ctrl + , key combination. Alternatively, open Command Palette and find Open Settings (JSON) to open settings.json . In your workspace settings, you can set your Python path like the following.

Remember to replace /path/to/your/virtualenvironment/bin/python with the correct value. If you’re in a virtual terminal window, you can run which python to quickly get the path of the current Python interpreter. Once you’re done, reload VSCode, and the error message will go away.

image-20220103201025760

In recent versions of VSCode, there is an alternative way to quickly set the pythonPath variable using the command interface.

Press Ctrl + Shift + P keyboard combination, then select Python: Select Interpreter, choose the proper one with the packages you need installed, and the problem will be fixed.

image-20220103201208251

Using .env file

  • my_project
    • .vscode
    • … other folders
    • my_code

    What you need to do to fix “Unresolved Import” is following these steps

    1. Create an .env file in the workspace folder (here my_project)
    2. In this newly-created, empty .env file, add the line PYTHONPATH=/path/to/module (replace /path/to/module with the actual module you’re trying to import). In this case, we have to replace /path/to/module with my_code to make Python import module from my_code
    3. Then, to make sure that VSCode recognizes the .env file, place an additional «python.envFile»: «$/.env» line to the settings.json , similar to how we did in the previous section of this article.
    4. Restart VSCode and verify that the “Unresolved Import” now disappeared.

    We hope that the information above is useful to you. If you’re interested in more advanced editing features of VSCode, check out our post on how to enable/disable word wrap in VSCode, How to use LaTeX in VSCode or how to automatically indent your code in Visual Studio Code.

    VsCode не видит некоторые библиотеки python?

    Раньше все было хорошо, пользовался vscode несколько лет, как вдруг, ни с того, ни с сего, он стал плохо работать с python, заметил 2 проблемы:

    1. VSCode не видит некоторые модули. Когда я пытаюсь их импортировать, они подсвечены серым цветом, а когда я вызываю функции этих модулей, у меня нет подсказок автозаполнения

    2. VScode подсвечивает правильный код, как ошибку.

    На скриншоте ниже приведен пример

    8K3uP2c.png

    VScode не видит библиотеку flask, а также подсвечивает ошибкой стандартный код на запись в файл.

    При этом, если запускать код, все работает без ошибок.

    Переустанавливал и Vscode, и python, ничего не помогает. Интерпритатор стоит верный.

    Причем подсветка правильного кода как ошибки, спустя несколько минут (около 3), пропадает. Такое ощущение, что Vscode долго думает.

    Vs code не видит скачанные библиотеки в python

    писал раньше код в pycharm , он сразу видел какие библиотеки установлены и сразу помогал дописывать атрибуты и т.д. а vs code не видит скачанные библиотеки как это исправить?

    Первое и важное необходимо установить расширение для python. Данное расширение поддерживает заполнение для кода и функцию IntelliSense . IntelliSense — это общий термин для ряда функций, которые и дают подсказки в коде для всех ваших файлов как built-in , так и для сторонних модулей. IntelliSense отображает переменные, методы, объекты классов и документацию в момент ввода. Более подробную информацию можно подчерпнуть на официальной страничке посвещенной данному вопросу.

    Поскольку всегда, а правильнее сказать, как правило используются виртуальные пространства, то и модули для будут отличаться от глобальных установок. В этом случае в VSCode предусмотрено переключение на тот интерпретатор, который необходим в данном рабочем процессе.

    Приведу пример. При помощи python -m venv env команды я создам виртуальное пространство для проекта, которое будет включать нужную версию python и модули, которые нужны только для данного проекта. Если не конфигурировался проект изначально при запуске VSCode будет цеплять глобальный python и глобальные модули (возможно, в новых версиях это не так). Это можно увидеть в нижнем левом углу интерфейса VSCode

    введите сюда описание изображения

    При нажатии на данную область появится меню вверху окна с возможностью выбора пространства

    введите сюда описание изображения

    Где я и могу выбрать нужный мне python 3.8.6 64-bit (‘env’:venv) . Из данного примера можно увидеть, что я могу использовать разные версии python и соответственно модули, для которых и будет работать IntelliSense .

    Код VS не может обнаружить стандартные библиотеки C ++

    Я начал использовать VS Code, и после возни с ним мне удалось заставить его обнаруживать Windows и Direct3D SDK с помощью c_cpp_properties.json, но я не могу заставить работать Стандартную библиотеку. Итак, если я сделаю:

    Это выдает ошибку, как это:

    Я искал по всей сети и не нашел никакой подсказки, так что я здесь! Как ни странно, если я просто создаю новый файл .cpp в пустой окно / редактор, все работает. Но в тот момент, когда я «Нагрузка» папка, в которой находится файл, то это не удается. Итак, это действительно сводит меня с ума.

    Я использую Windows 10 с .NET 4.6.2, Visual C ++ Redist 2015 года и Windows 10 SDK, все новые версии с сегодняшнего дня. Моя конечная цель — перенести проект, который я сделал в VS2013, на GNU / Linux, поэтому я пытаюсь заставить все работать шаг за шагом.

    Большое спасибо заранее!

    РЕДАКТИРОВАТЬ: Компиляция с g ++ работает просто отлично, хотя VS Code жалуется. Это то, что происходит.

    Решение

    Код VS должен найти библиотеки включения.

    Прежде всего найдите, где находится g ++. Вы упомянули, что это отлично работает. Это файл .exe (windows). Так что вы можете найти каталог g ++ в настройках пути. просмотреть переменные пути.

    Теперь после получения каталога g ++. Exe вы можете легко найти имена файлов строка в соседних папках или родительских папках. После успешного поиска скопируйте его полный путь.

    Теперь вернитесь в VS Code и наведите курсор на зеленое подчеркивание, и вы увидите лампочку. Нажмите на нее и в опциях вы увидите вариант Изменить настройку «includePath» или же Обновить настройку browse.path. Выберите его, и файл откроется с именем c_cpp_properties.json

    Теперь в этом файле найдите «имя»: «win32». В опции include path вставьте имя каталога строка файл, как это, и вы готовы к работе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *