I'm using Jupyter Notebook launching from Anaconda Navigator 2.3.2 (Windows 10) to investigate pyTorch in a new Environment created in Navigator. Before launching I added pyTorch via a Command Prompt with the new Environment activated using the following which I got from pytorch.org:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
I then ran into the No module named "torch" issue and spent many hours looking into this. I was eventually able to fix this issue looking at the results of this:
import sys
print(sys.path)
For me, this showed that the path to site-packages for my kernal (aka Environment) was missing. So I edited the kernal's kernal.json file found in:
<DRIVE_LETTER>:\Users\<USER_NAME>\AppData\Roaming\jupyter\kernels\<KERNAL_NAME>
To include an env
section, which adds to PYTHONPATH
like:
{
"argv": [
"<ANACONDA_INSTALL_DIR>\\envs\\<KERNAL_NAME>\\python.exe",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"env": {
"PYTHONPATH": "..\\..\\..\\Users\\<USER_NAME>\\<ANACONDA_INSTALL_DIR_NAME>\\envs\\<KERNAL_NAME>\\Lib\\site-packages"
},
"display_name": "<KERNAL_NAME>",
"language": "python",
"metadata": {
"debugger": true
}
}
Please note that in my case I had to go back up 3 directories to the root of the drive, hence, the ..\\..\\..\\
at the start of the PYTHONPATH
entry. You might need to change that. Also if you try to use a full path, to your Environment's site-packages, then it will prepend the current contents of PYTHONPATH
to it instead of adding it as a separate entity.