A module is working in Anaconda prompt, but not in Spyder

philippos picture philippos · Apr 26, 2018 · Viewed 8.8k times · Source

I have been fighting with this problem for hours now, and it's a kind of complicated one. I'm on windows 7, Python 2.7, Spyder 3.2.6 I tried to install OSMNX through cygwin, however I faced many issues. Finally managed to install it through windows cmd. Through the anaconda prompt, I could import the osmnx with no error.
However, I'm trying to import it in spyder, but I keep receiving:
Traceback (most recent call last):

  File "<ipython-input-2-2b99ab66aebb>", line 1, in <module>
    import osmnx

ImportError: No module named osmnx

What is exactly wrong here? and how can I solve it?

Answer

Bremsstrahlung picture Bremsstrahlung · Dec 21, 2018

The problem is the use of different environments for your anaconda prompt and your instance of spyder, as mentioned by @Simon. This problem and the different available solutions are reviewed here: GitHub discussion

You can solve the problem as follows. Provided that you have the package spyder-kernels already installed in your Anaconda prompt environment, run the following command in Anaconda prompt:

python -c "import sys; print(sys.executable)"

and copy the path returned to your console. Then, in Spyder go to Tools>Preferences>Python interpreter. Here you will see two options under Select the Python interpreter for all Spyder consoles. Check the second option and paste the path you copied from the Anaconda prompt. Close Spyder and open it again and now the import module command should work.

By doing this, Spyder will basically use the Python interpreter from the environment in which you have installed the new modules.