Skip to content

Debugging does not work with a conda environment #18436

Closed

Description

@kajakIYD

Issue Type: Bug

Behaviour

While debugging Python scripts, F5 or "Play button" gives no action - the only thing I see is bar with "stop", "play" and "restart" buttons - but this bar just dissapear after few seconds. In terminal no output is printed.
Since last successful debugging session no system updates or other apps were installed, VSCode is up-to-date.
I have tried restarting VSCode and restarting computer ;)

Linked with:
microsoft/vscode#142154

Expected vs. Actual

Expected: Press F5 button runs code in debug mode.
Actual: After pressing F5 button only "debug bar" appears, but code does not run at all.

Steps to reproduce:

  1. Open VSCode
  2. Open *.py file
  3. Press F5 or "play button" in "Run and debug" section on the left-side-bar of VSCode app window.
launch.json { "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": false } ] }

Diagnostic data

  • Python version (& distribution if applicable, e.g. Anaconda): 3.7.7
  • Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Conda
  • Value of the python.languageServer setting: Pylance
User Settings


defaultLS: {"defaultLSType":"Pylance"}

downloadLanguageServer: true

envFile: "<placeholder>"

venvPath: "<placeholder>"

venvFolders: "<placeholder>"

condaPath: "<placeholder>"

pipenvPath: "<placeholder>"

poetryPath: "<placeholder>"

languageServer: "Pylance"

linting
• enabled: true
• cwd: "<placeholder>"
• Flake8Args: "<placeholder>"
• flake8Enabled: true
• flake8Path: "<placeholder>"
• lintOnSave: true
• banditArgs: "<placeholder>"
• banditEnabled: false
• banditPath: "<placeholder>"
• mypyArgs: "<placeholder>"
• mypyEnabled: false
• mypyPath: "<placeholder>"
• pycodestyleArgs: "<placeholder>"
• pycodestyleEnabled: false
• pycodestylePath: "<placeholder>"
• prospectorArgs: "<placeholder>"
• prospectorEnabled: false
• prospectorPath: "<placeholder>"
• pydocstyleArgs: "<placeholder>"
• pydocstyleEnabled: false
• pydocstylePath: "<placeholder>"
• pylamaArgs: "<placeholder>"
• pylamaEnabled: false
• pylamaPath: "<placeholder>"
• pylintArgs: "<placeholder>"
• pylintPath: "<placeholder>"

sortImports
• args: "<placeholder>"
• path: "<placeholder>"

formatting
• autopep8Args: "<placeholder>"
• autopep8Path: "<placeholder>"
• provider: "autopep8"
• blackArgs: "<placeholder>"
• blackPath: "<placeholder>"
• yapfArgs: "<placeholder>"
• yapfPath: "<placeholder>"

testing
• cwd: "<placeholder>"
• debugPort: 3000
• nosetestArgs: "<placeholder>"
• nosetestsEnabled: undefined
• nosetestPath: "<placeholder>"
• promptToConfigure: true
• pytestArgs: "<placeholder>"
• pytestEnabled: false
• pytestPath: "<placeholder>"
• unittestArgs: "<placeholder>"
• unittestEnabled: false
• autoTestDiscoverOnSaveEnabled: true

terminal
• activateEnvironment: true
• executeInFileDir: "<placeholder>"
• launchArgs: "<placeholder>"

experiments
• enabled: true
• optInto: []
• optOutFrom: []

insidersChannel: "off"

tensorBoard
• logDirectory: "<placeholder>"

Extension version: 2022.0.1786462952
VS Code version: Code 1.64.0 (5554b12acf27056905806867f251c859323ff7e9, 2022-02-03T04:22:20.678Z)
OS version: Windows_NT x64 10.0.19042
Restricted Mode: No

System Info
Item Value
CPUs Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (8 x 1800)
GPU Status 2d_canvas: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: enabled
opengl: enabled_on
rasterization: enabled
skia_renderer: enabled_on
video_decode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 15.90GB (8.45GB free)
Process Argv --folder-uri file:///c%3A/Users/Pawe%C5%82%20Fic/Documents/MOLOS.ANALYTICS/Packages/trend_analysis --crash-reporter-id b5861c78-63a8-433f-adf7-5b3b6a81c16d
Screen Reader no
VM 0%
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyl392cf:30425750
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30433059
pythonvs932:30410667
vscop940:30404999
vsrem710cf:30416617

Activity

  1. ajrock commented on Feb 4, 2022

    @ajrock

    Having the same problem since the update to v2022.0.1786462952

  2. rincewound commented on Feb 4, 2022

    @rincewound

    Same over here. Worked fine yesterday. Got up to VSCode update and it no longer works. The extension seems not to be able to start the debuggee. Before it was broken, one could see the commandline passed to the pyhon interpreter in the terminal of VScode. This no longer happens.

  3. changliufau commented on Feb 4, 2022

    @changliufau

    Also same for me.

    Temporarily solved by reloading python IntelliSense to version v2021.12.1559732655.

  4. knoffelcut commented on Feb 4, 2022

    @knoffelcut

    Same for me, specifically when using a Conda environment inside a docker container. When using the System interpreter (both host's and docker container's) it works fine.

    Had to install 2021.12.1559732655 inside the docker container's vscode to fix it.

  5. mlamarre commented on Feb 4, 2022

    @mlamarre

    ++same
    The Python Debug Console doesn't pop-up like it used to. console=integratedConsole doesn't help.

  6. XinzeZhang commented on Feb 4, 2022

    @XinzeZhang

    ++same

  7. liaohaofu commented on Feb 4, 2022

    @liaohaofu

    Same for me, specifically when using a Conda environment inside a docker container. When using the System interpreter (both host's and docker container's) it works fine.

    Had to install 2021.12.1559732655 inside the docker container's vscode to fix it.

    Same here. This happens only with Conda environment - the other interpreters work fine.

  8. brettcannon commented on Feb 4, 2022

    @brettcannon
    Member

    Is anyone not a conda user?

    For those that are using conda, this is probably because of https://devblogs.microsoft.com/python/python-in-visual-studio-code-february-2022-release/#improvements-when-using-anaconda . We thought we had this working but apparently there's at least some underlying issue. While we take a look to solve this please feel free to roll back to the 2020.12 release for now and subscribe to this issue to know when we have resolved the problem.

  9. changed the title [-] Debugging does not work at all[/-] [+] Debugging does not work with a conda environment[/+] on Feb 4, 2022
  10. karthiknadig commented on Feb 4, 2022

    @karthiknadig
    Member

    Can some ones share how you created conda environment? Did you use conda create -n env_name or conda create -n env_name python

    Are you seeing anything in the terminal when the debugger starts? or the debugger is failing to start entirely? Is there in thing in the Output>Python logs that you can share that might help with this issue?

  11. added
    bugIssue identified by VS Code Team member as probable bug
    investigatingWe are looking into the cause of the issue
    and removed
    triage-neededNeeds assignment to the proper sub-team
    on Feb 4, 2022
  12. 31 remaining items

  13. NLCharles commented on Feb 8, 2022

    @NLCharles

    Another workaround is to set a symbolic link to conda env's python interpreter, and add this as a 'new' python interpreter, and debug process will start to work, without conda environment activated, which could be done manually after python debug console pops up. This requires no changes in your conda environment.
    Like

    ln -s /condapath/envs/envname/bin/python /home/user/python
    

    I believe this is a strong indication that new launcher doesn't work with old conda.

    Update:
    Running

    conda install anaconda; conda update --all
    

    will solve environment inconsistency and repair broken conda environment (especially envs messed up by pip), and after conda update the debugger works.

  14. phuongnm94 commented on Feb 8, 2022

    @phuongnm94

    same here.
    My situation is remote container + conda + python.
    Solved by degrading the python extension in VSCode to 2021.12.1559732655.

    I updated conda to 4.11, but the problem has not been solved, however degrading the python extension into 2021.12.1559732655 worked with me.

  15. amarvin commented on Feb 8, 2022

    @amarvin

    Worked for me after degrading the python extension into 2021.12.1559732655, even with conda 4.6.14

  16. karthiknadig commented on Feb 8, 2022

    @karthiknadig
    Member

    We just published a fix for the older versions of conda. The fix is in version 2022.0.1814523869.

    If you are in a newer version of conda and are experiencing issues, please check the error reported by conda here https://github.com/conda/conda/issues.
    you can use the command in the linked comment to run the debugger from a terminal to test if it is working as expected:
    #18436 (comment)

  17. ABotond commented on Feb 8, 2022

    @ABotond

    The problem still persists for me using VS Code 1.64.1, extension version v2022.0.1814523869 and conda 4.9.1, while using it in SSH remote mode.

    It works correctly with v2021.12.1559732655.

  18. karthiknadig commented on Feb 8, 2022

    @karthiknadig
    Member

    Botond Fazekas (@ABotond) Can you try the steps here in the terminal to see if the debugger is able to start in your environment? #18436 (comment)

  19. ABotond commented on Feb 8, 2022

    @ABotond

    Karthik Nadig (@karthiknadig) Thanks for the quick answer. Indeed, the problem lies here somewhere:

    conda run -n base --no-capture-output --live-stream python ~/.vscode-server/extensions/ms-python.python-2022.0.1814523869/pythonFiles/lib/python/debugpy/adapter
    
    # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
    
        Traceback (most recent call last):
          File "/opt/conda/lib/python3.8/site-packages/conda/exceptions.py", line 1079, in __call__
            return func(*args, **kwargs)
          File "/opt/conda/lib/python3.8/site-packages/conda/cli/main.py", line 84, in _main
            exit_code = do_call(args, p)
          File "/opt/conda/lib/python3.8/site-packages/conda/cli/conda_argparse.py", line 83, in do_call
            return getattr(module, func_name)(args, parser)
          File "/opt/conda/lib/python3.8/site-packages/conda/cli/main_run.py", line 25, in execute
            script_caller, command_args = wrap_subprocess_call(on_win, context.root_prefix, prefix,
          File "/opt/conda/lib/python3.8/site-packages/conda/utils.py", line 403, in wrap_subprocess_call
            with Utf8NamedTemporaryFile(mode='w', prefix=tmp_prefix, delete=False) as fh:
          File "/opt/conda/lib/python3.8/site-packages/conda/_vendor/auxlib/compat.py", line 81, in Utf8NamedTemporaryFile
            return NamedTemporaryFile(mode=mode, buffering=buffering, encoding=encoding,
          File "/opt/conda/lib/python3.8/tempfile.py", line 540, in NamedTemporaryFile
            (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags, output_type)
          File "/opt/conda/lib/python3.8/tempfile.py", line 250, in _mkstemp_inner
            fd = _os.open(file, flags, 0o600)
        PermissionError: [Errno 13] Permission denied: '/opt/conda/.tmp2_3bgl4a'
    
    `$ /opt/conda/bin/conda run -n base --no-capture-output --live-stream python /home/guiuser/.vscode-server/extensions/ms-python.python-2022.0.1814523869/pythonFiles/lib/python/debugpy/adapter`
    
     environment variables:
                     CIO_TEST=<not set>
            CONDA_DEFAULT_ENV=base
                    CONDA_EXE=/opt/conda/bin/conda
                 CONDA_PREFIX=/opt/conda
        CONDA_PROMPT_MODIFIER=(base)
             CONDA_PYTHON_EXE=/opt/conda/bin/python
                   CONDA_ROOT=/opt/conda
                  CONDA_SHLVL=1
               CURL_CA_BUNDLE=<not set>
                         PATH=/opt/conda/bin:/opt/conda/bin:/opt/conda/condabin:/home/guiuser/.vscod
                              e-server/bin/d6ee99e4c045a6716e5c653d7da8e9ae6f5a8b03/bin:/usr/local/s
                              bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local
                              /games:/snap/bin
           REQUESTS_CA_BUNDLE=<not set>
                SSL_CERT_FILE=<not set>
    
         active environment : base
        active env location : /opt/conda
                shell level : 1
           user config file : /home/guiuser/.condarc
     populated config files : 
              conda version : 4.9.2
        conda-build version : 3.21.4
             python version : 3.8.8.final.0
           virtual packages : __cuda=11.2=0
                              __glibc=2.27=0
                              __unix=0=0
                              __archspec=1=x86_64
           base environment : /opt/conda  (read only)
               channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                              https://repo.anaconda.com/pkgs/main/noarch
                              https://repo.anaconda.com/pkgs/r/linux-64
                              https://repo.anaconda.com/pkgs/r/noarch
              package cache : /opt/conda/pkgs
                              /home/guiuser/.conda/pkgs
           envs directories : /home/guiuser/.conda/envs
                              /opt/conda/envs
                   platform : linux-64
                 user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.8 Linux/5.4.0-96-generic ubuntu/18.04.5 glibc/2.27
                    UID:GID : 1000:1000
                 netrc file : None
    

    Oh, and I'm using conda version 4.9.2, not 4.9.1.

    I'm connecting to a docker image (based on pytorch/pytorch:1.8.1-cuda11.1-cudnn8-devel) running an ssh server. I can provide a minimal Dockerfile if needed.

  20. amarvin commented on Feb 8, 2022

    @amarvin

    We just published a fix for the older versions of conda. The fix is in version 2022.0.1814523869.

    Awesome job! This new version of the Python extension works for me.

  21. karthiknadig commented on Feb 8, 2022

    @karthiknadig
    Member

    Botond Fazekas (@ABotond) You are running into this issue conda/conda#10690 . Please give conda directory write permissions, and it should work. Up vote the conda issue so this gets resolved by them.

  22. ABotond commented on Feb 8, 2022

    @ABotond

    Karthik Nadig (@karthiknadig) what an ugly hack. But that was it, thanks a lot for your help!

  23. Raphael-Hao commented on Feb 9, 2022

    @Raphael-Hao

    In my case, the formatter does not work, even if I upgrade conda to 4.11 and the extension to 2022.0.1814523869. If I downgrade the Python extension to v2021.12.1559732655, it works.
    To be specific, I am using a miniconda python installed by pyenv.
    When directly executing the formatting command in the terminal, which is presented in the python output window, the output is as follows.

    image

  24. brettcannon commented on Feb 9, 2022

    @brettcannon
    Member

    Weihao Cui (@Raphael-Hao) please open a separate issue as that's not related to debugging.

  25. millnerryan commented on Feb 21, 2022

    @millnerryan

    I had the same issue, and had nothing to do with the extension version, only with my Conda version. I upgraded conda from 4.10 to 4.11, and even with the latest version of VS Code Python (v2022.0.1814523869), it now works.

  26. locked as resolved and limited conversation to collaborators on Mar 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area-debuggingbugIssue identified by VS Code Team member as probable buginvestigatingWe are looking into the cause of the issue

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions