python module import issues in command prompt

I have installed some python packages which I am able to access using IDLE and not through command shell window.

Here is the output from IDLE:

Python 2.7.2+ (default, Oct  4 2011, 20:03:08) 
[GCC 4.6.1] on linux2
Type "copyright", "credits" or "license()" for more information.
==== No Subprocess ====
>>> import whoosh

Here is the output from my terminal:

pradeep@ubuntu:~$ python
Python 2.7.2 (default, Nov 28 2011, 23:56:33) 
[GCC 4.6.1] on linux3
Type "help", "copyright", "credits" or "license" for more information.
>>> import whoosh
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named whoosh

How can I point the terminal python to IDLE python packages? Why is terminal showing 'linux3' where as IDLE showing 'linux2'? Please help me with this path issue. thanks.


Thanks all. Like most of you guessed, I have two different versions installed.

My Idle Path shows

['/home/pradeep', '/usr/bin', '/usr/local/lib/python2.7/dist-packages/Whoosh-2.3.0-py2.7.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']

My terminal path shows:

['', '/usr/local/lib/', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux3', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

How do I remove the terminal version and install IDLE version in terminal? Thanks.


You're running two different Python installs, one dated 10/4/2011 and the other dated 11/28/2011. The second one doesn't have whoosh installed.

Your options are:

  1. Look for the version that IDLE uses and run it from the command-line. To find it, turn on IDLE and run import sys; print sys.executable. That will show you the location of the version with the packages installed.

  2. Or you can beef-up your command-line version by installing those same packages at the command-line (i.e. run python install for the various packages you want to load.

Packages are searched in all the directories defined in the python path.

So, if the IDLE and terminal are working differently - means they have difference in their python paths.


Try this : (On both IDLE and terminal)

import sys
print sys.path  # this prints the list of directories in the python path.

Compare the list that you get from both and the extra directory in IDLE will be having whoosh

You can add directories to sys.path like this :

import sys

Now, all packages in /home/user/packages will be available for import.

Need Your Help

View-based “Source List” NSOutlineView not display icons and titles of the items

objective-c cocoa nsoutlineview

After changing NSOutlineView cell-based to view-based, it's not display the icons and titles of file-system tree. Here my code:

How to get Certificate used in Identity Provider in openam

single-sign-on saml openam opensso

We are service provider and support SAML based single signon. We want our customers to register us as Service provider in their OpenAm.

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.