MySQLdb will only import for root

martinnorth martinnorth at westnet.com.au
Sat Jul 12 03:02:54 CEST 2008


Diez B. Roggisch wrote:
> martinnorth schrieb:
>> Hi,
>>
>> I am running Python and MySQL on Ubuntu and have installed MySQLdb. If 
>> I try to import MySQLdb I get the following error:
>>
>> ActivePython 2.5.2.2 (ActiveState Software Inc.) based on
>> Python 2.5.2 (r252:60911, Mar 27 2008, 16:42:08)
>> [GCC 3.3.1 (SuSE Linux)] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>>  >>> import MySQLdb
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>> ImportError: No module named MySQLdb
>>
>> But if I lrun python as the root user it imports fine. Can anyone 
>> suggest what might be wrong with the installation? Or is there nothing 
>> wrong? I haven't seen any examples that mentioned being root to import 
>> a module.
> 
> Try importing sys and printing out sys.path both with a "normal" account 
> and the root-account, to see if there are any differences. And of course 
> make sure both actually use the same interpreter.
> 
> Beyond that, you are right: there is no root-only-importing.
> 
> Diez

Now that I look at, it appears it might not be the same interpreter. 
When running python as root I get:

Python 2.5.2 (r252:60911, Apr 21 2008, 11:12:42)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Which is completely different from when I'm a normal user (see original 
post). And yes, sys.path is different.

Being somewhat new to python and linux, how would I go about fixing 
this? How do I get a normal user to run the same interpreter? Is it to 
do with my PATH?

Martin



More information about the Python-list mailing list