You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
"Run Cell" does not pickup on jupyter installed via virtualenv but conda works #3801
VS Code version: 1.29.0 5f24c93878bd4bc645a4a17c620e2487b11005f9 x64
Extension version (available under the Extensions sidebar): 2018.10.1
OS and version: Ubuntu 18.04
Python version (& distribution if applicable, e.g. Anaconda): pipenv with python 3.7
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): virtualenv
Relevant/affected Python packages and their versions: -
Actual behavior
When using a virtualenv/pipenv environment clicking on "Run Cell" yields the error msg: Running cells requires Jupyter notebooks to be installed.
(But it works with conda.)
Expected behavior
Cell is executed.
Steps to reproduce:
mkdir hello
cd hello
pipenv --python 3.7
pipenv shell
pipenv install jupyter
which jupyter
# /home/somebody/.local/share/virtualenvs/hello-UXM3mEkX/bin/jupyter
# jupyter notebook also works on its own
Open vscode, select the interpreter for the "hello" pipenv environment, create a file demo.py with the following content:
#%%
print("hello")
Clicking on "Run Cell" yields the error msg: Running cells requires Jupyter notebooks to be installed.
I have the same setup as Stefan Otte (@sotte) except I am on MacOS Mojave 10.14.1. But, event if I start vscode within the environment started by Pipenv, vscode is not able to find Jupyter.
I just checked 1.30.0-insider 24b0f75b1e33b88f30f2ed9d5b17ca60062c270b x64 and I have the same experience. It was a fresh insider install with no extensions other than the python one.
Stefan Otte (@sotte) Ah, your venv doesn't support nbconvert so you can't do an import. There's a bug in the code that it checks for nbconvert instead of notebook being available.
Stefan Otte (@sotte) Were you able to take advantage of the fix? I have very similar issue (macOS 10.14.1) and I've been navigating the related issues that've been merged, but can't make out if the fix is available
Thanks Stefan Otte (@sotte), no luck for me though. Looks like the commit with the fix has already been pushed to Extension Version 2018.11.0, which is what I am using. After looking at #3774 it's worth mentioning that I'm on python 3.6.7 (pyenv install) and my virtual environment is created with venv (via pyenv-virtualenv), so maybe worth opening my own issue? Rich Chiodo (@rchiodo)
Jonathan Leon (@leonjonathan) if you're using a pip venv then #3774 is likely the culprit. If you start code from the terminal that has the environment activated, does it work then?
Rich Chiodo (@rchiodo) Yes, works as expected when starting code with environment activated in terminal. Not using pipenv though (as in #3774). If I understand correctly, pipenv uses VirtualEnv, while pyenv-virtualenv uses native python3 -m venv despite its name
Activity
sotte commentedon Nov 14, 2018
Update: It seem to be related to how you start vscode.
code .then "run cell" works.jupyteris not available in the currentPATH)conda and virtualenv seem to be handled differently. Is this a bug or accepted behavior?
mrvkino commentedon Nov 15, 2018
I have the same setup as Stefan Otte (@sotte) except I am on MacOS Mojave 10.14.1. But, event if I start vscode within the environment started by Pipenv, vscode is not able to find Jupyter.
The Jupyter Python Package from Don Jayamanne (@DonJayamanne) is able to find the Jupyter executable.
rchiodo commentedon Nov 16, 2018
I can't repro Stefan Otte (@sotte)'s bug on Linux, but I can on Windows. Hopefully the fix I have out will address the problem.
sotte commentedon Nov 16, 2018
Rich Chiodo (@rchiodo) thanks for the quick reply!
I just checked
1.30.0-insider 24b0f75b1e33b88f30f2ed9d5b17ca60062c270b x64and I have the same experience. It was a fresh insider install with no extensions other than the python one.rchiodo commentedon Nov 16, 2018
Stefan Otte (@sotte) Ah, your venv doesn't support nbconvert so you can't do an import. There's a bug in the code that it checks for nbconvert instead of notebook being available.
This line here:
https://github.com/Microsoft/vscode-python/blob/40554c8effdba308744ff68de24e5fd83ee84f12/src/client/datascience/history.ts#L492
That line should say:
if (!(await this.jupyterExecution.isNotebookSupported())) {
Sorry took me so long to notice you didn't have nbconvert installed in your venv.
I'll submit a fix for this right away.
rchiodo commentedon Nov 16, 2018
Should be fixed now in microsoft/vscode-python@d2a5e21
sotte commentedon Nov 17, 2018
Rich Chiodo (@rchiodo) thanks, you're great!
leonjonathan commentedon Dec 6, 2018
Stefan Otte (@sotte) Were you able to take advantage of the fix? I have very similar issue (macOS 10.14.1) and I've been navigating the related issues that've been merged, but can't make out if the fix is available
sotte commentedon Dec 7, 2018
Yes, it worked for me. The fix is only available through the nightly/insider build though Jonathan Leon (@leonjonathan)
leonjonathan commentedon Dec 8, 2018
Thanks Stefan Otte (@sotte), no luck for me though. Looks like the commit with the fix has already been pushed to Extension Version 2018.11.0, which is what I am using. After looking at #3774 it's worth mentioning that I'm on python 3.6.7 (pyenv install) and my virtual environment is created with venv (via pyenv-virtualenv), so maybe worth opening my own issue? Rich Chiodo (@rchiodo)
rchiodo commentedon Dec 10, 2018
Jonathan Leon (@leonjonathan) if you're using a pip venv then #3774 is likely the culprit. If you start code from the terminal that has the environment activated, does it work then?
leonjonathan commentedon Dec 10, 2018
Rich Chiodo (@rchiodo) Yes, works as expected when starting code with environment activated in terminal. Not using pipenv though (as in #3774). If I understand correctly, pipenv uses VirtualEnv, while pyenv-virtualenv uses native
python3 -m venvdespite its name