1

For my current job it would be extremely helpful to be able to configure a virtualenv with the appropiate libraries versions, and be able to run either a python project, or cells in jupyter. This is because some people at my job work with jupyter, and some with Python, and sometimes both, and this way I would have a centralized program that could run both types, which I have not found outsaid of the paid version of PyCharm, which my company does not provide.

I just learned a few days ago about Windows Subsystem for Linux, WSL, and that it can be launched from withing Visual Studio Code, so I feel like this is my best bet to achieve that dual nature of programming from just ONE program, instead of running several like in the past.

As of right now, I have a repository cloned with WSL for a git project with different ".py" files, I open it with VSC, then open the terminal inside VSC, and I can both edit the Python code, and run it on the terminal, using bash commands as I would if I were in Ubuntu (I am doing all this from windows but can switch to Ubuntu if it would mean to be able to do this type of setup).

When I run with "Run Python file in terminal", it uses the virtualenv I have previously created.

The problem is, with Jupyter, it does not detect I have the libraries installed (like Pandas for example)

Description of my process with Jupyter so far: With the WSL console, I launch a jupyter notebook &. I then connect to that server, usin the VSC option for "Specify Local or Remote Jupyter server for connections", use the "Existing" option, copy the URL, then I go to the ".ipynb" file and start running code.

If, in a Jupyter cell, I do

import os
os.environ['VIRTUAL_ENV']

I can see my virtual enviroment. If right after that, I run import pandas I get ModuleNotFoundError: No module named 'pandas'

If I do !pip freeze I can see all the libraries and right versions that I have installed in that enviroment.

I feel like I am almost there but something is missing. My guess is that import might be going to some default installed Python, and not the one from the enviroment, for some reason I am missing.

monkey intern
  • 705
  • 3
  • 14
  • 34

1 Answers1

0

Solved by doing what this answer suggests. The rest of answers may be of help, too:

https://stackoverflow.com/a/51036073/6028947

monkey intern
  • 705
  • 3
  • 14
  • 34