Import module works in terminal but not in IDLE
I am trying to import pyodbc
module on a windows computer. It works in the terminal, but not the IDLE. The error message in IDLE is:
Traceback (most recent call last):
File "FilePath/Filename.py", line 3, in <module>
import pyodbc
ImportError: No module named pyodbc
Solution 1:
This typically occurs when multiple versions of python are installed with different paths. You can check to see if you have multiple installations by opening up the IDLE terminal and using
import sys
sys.version
sys.path
These commands will print the system PATH and version of the current instance of python. Use this in both IDLE and the command line terminal to see where each differ. Once you know which version is the one you want then just remove the other. You could also remove all python instances and then reinstall a clean python environment but then you would have to re-install all of your modules using pip or easy_install
Solution 2:
You can pip show
after install package and know about location where package installed.
After that check in IDLE sys.path
and if directory with package not in sys.path
try to add it.
import sys sys.path.append("/home/dm/.local/lib/python3.6/site-packages") # or another folder that `pip show` about package.
Solution 3:
- Open python in cmd (type
python
and press enter) - Import the module in cmd (type
import modulename
) - Type
modulename.__file__
- You will get the path where the module is stored
- Copy the corresponding folder
- In IDLE,
import sys
and typingsys.executable
to get the paths where it looks for modules to import - Paste your module's folder in the path where IDLE looks for modules.
This method worked for me.