Skip to content
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

Dropdown List of Interpreters in Virtual Environments is Jumbled #2223

Closed
wlbentley opened this issue Jul 22, 2018 · 4 comments · Fixed by #2239
Closed

Dropdown List of Interpreters in Virtual Environments is Jumbled #2223

wlbentley opened this issue Jul 22, 2018 · 4 comments · Fixed by #2239
Labels
bug Issue identified by VS Code Team member as probable bug

Comments

@wlbentley
Copy link

wlbentley commented Jul 22, 2018

Environment data

  • VS Code version: Version 1.25.1 (1.25.1)

  • Extension version (available under the Extensions sidebar): 2018.7.0

  • OS and version: MacOS 10.13.6

  • Python version (& distribution if applicable, e.g. Anaconda): Python 3.7.0 (Homebrew/Pipenv)

  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): pipenv

  • Relevant/affected Python packages and their versions: ...

Actual behavior

Selecting "Python: Select Interpreter" from the Command Palette, the list of available virtual environments is jumbled, and includes CLang version information, followed by the type of virtual environment:

screen shot 2018-07-21 at 23 19 12

Also, in the dropdown list, the type of virtual environment is shown as "(virtualenv)", which is less helpful than the original "(pipenv)". The "pipenv" notation was correctly displayed in the February 2018 Release blog post.

Also, in the status bar, the Python version information does not include the type of virtual environment for the selected interpreter.

screen shot 2018-07-21 at 23 32 09

Expected behavior

The list items should not include Clang version information.

The status bar should indicate the type of virtual environment after the Python version, to help clarify which interpreter is active.

Steps to reproduce:

  1. Open VSCode in a directory containing a pipenv Pipfile.
  2. Open a Python script file.
  3. From the Command Palette, choose "Python: Select Interpreter" to display the list of virtual environments.

Logs

Output for Python in the Output panel (ViewOutput, change the drop-down the upper-right of the Output panel to Python)

none

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help)

none
@DonJayamanne
Copy link

I'm able to replicate this as follows:

  • Update settings.json as follows:
    "python.venvFolders": [
        "envs",
        ".pyenv",
        ".direnv",
        "/Users/donjayamanne/.local/share/virtualenvs"
    ],
    "python.venvPath": "/Users/donjayamanne/.local/share/virtualenvs"
  • View list of environments

This causes the extension to look for virtual envs in the above directories.

Two problems:

@DonJayamanne DonJayamanne added bug Issue identified by VS Code Team member as probable bug needs PR labels Jul 22, 2018
@DonJayamanne
Copy link

One problem we'll have is differentiating between PipEnv environments and standard virtual envs. According to the documentation pipenv environments are created in the standard directory (see Automatically creates a virtualenv in a standard location.)

@DonJayamanne
Copy link

I cannot think of a solution that'll guarantee we'll be able to differentiate between pipenv and standard virtual envs.

Suggestion: Leave the current behavior

@Microsoft/pvsc-team

@wlbentley
Copy link
Author

wlbentley commented Jul 23, 2018

Ok. Before switching to Pipenv, I had tried to resolve venv issues by extending python.venvFolders and python.venvPath paths (using the ~/ home directory shortcut), but it didn't work well, and in the end, I commented them out, leaving only the default values in my user settings. So, it was the default settings only that generated the jumbled dropdown list contents.

Now, adding the fully qualified path in both venvFolders and venvPath cleans up the dropdown list display and correctly labels the type of venv in the list.

Edit: Actually, the display of the venv type was correct (pipenv) until I restarted VSCode. Now it's reverted to (virtualenv) again. Getting closer, though.

Thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants