skip to Main Content

I am trying to import function query_creative inside of file query_creative.py into the notebook Notebook.ipynb. The file hierarchy is like this:

    ├───playground
    │    Notebook.ipynb
    ├───src
    ├───queries
         query_creative.py

The code I use in my notebook goes like this:

import sys
sys.path.append('..')
from src.query.query_creative import query_creative

and the thing works. However, the line with the function import is underlined by Pylance with the message: "Import could not be resolved" and when I use this function later on, it works but Pylance underlines it again. I’ve tried modifying the setting.json, but nothing seems to work. I thank in advance for any help!

5

Answers


  1. Chosen as BEST ANSWER

    I managed to solve it eventually by downgrading Jupyter extension to VS Code to v2022.4.1001071005. Thanks everyone for help!


  2. Which version of vs code you have? I faced with same issue after updating to 1.70.

    UPD.

    Downgrading to 1.69.2 fixed that issue. However, I have another laptop with 1.70 with exact same notebook there is no such issue, so if you want to stick around 1.70 it is worth to try to completely remove vscode and install it again.

    UPD2.

    After a while my downgrade didn’t help on another machine, so I compared Pylance output difference between them and find out, that "working" instance used legacy jupyter notebook support, while "buggy" with "LSP". After disabling option Pylance Lsp Notebooks Enabled enter image description here everything worked as usual and fixed that problem

    Login or Signup to reply.
  3. It seems that pylance is unable to determine that the code is importable. Instead of modifying your path at the beginning of the script, you could create a Python package with your code, then do:

    cd your-project
    pip install -e .
    

    You can see a guide to create packages here.

    With these settings, pylance and any other editor/IDE will be able to identify your project correctly.

    Beware that in VSCode, you can switch the interpreter, so ensure you select one where your code is installed:

    enter image description here

    Login or Signup to reply.
  4. https://blog.csdn.net/qq_41019681/article/details/111193080

    "python.analysis.extraPaths": [
            "D:\ProgramFiles\Anaconda3-2021.05\lib\site-packages"
        ]
    

    add "python.analysis.extraPaths" by

    import package_name as pkg 
    print(pkg.__file__)
    
    Login or Signup to reply.
  5. For anyone still interested:
    This was a known issue and has been fixed for VS-Code 1.74 and later with the latest Jupyter, PyLance and Python extensions.
    So update, reload all extensions and restart Jupyter kernel should fix it.

    See these two issues for reference:
    https://github.com/microsoft/pylance-release/issues/3035
    https://github.com/microsoft/vscode-jupyter/issues/11038

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search