views:

47

answers:

2

I need to connect MySQLdb - module.

I download MySQLdb - module and install it.

But when i write (in python interactive shell): import MySQLdb - i get no module named MySQLdb.

Then i decided to include MySQLdb directory in PYTHONPATH variable.

I write (in python interactive shell): export PYTHONPATH=${PYTHONPATH}:/where/module/lives/

And in response i receive a syntax error: invalid syntax: export PYTHONPATH^=${PYTHONPATH}:/where/module/lives/

What's wrong with syntax here?

+2  A: 

If you really mean you are typing

 >>> export PYTHONPATH...

in the Python "interactive shell", the syntax error is because it is not valid Python, it is a command (bash) shell statement:

 $ export PYTHONPATH="$PYTHONPATH:/where/module/lives/"
 $ python
 Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
 >>> import MySQLdb
 >>>
msw
+2  A: 

If you want to modify the path to packages within Python, you can do:

import sys
sys.path.append('/where/module/lives/')

The syntax export PYTHONPATH=… is understood by (Bourne) shells (bash, etc.).

Both uses have their advantage:

  • For modules that are not used often, the "within" Python approach is often best, since you do not have to pollute PYTHONPATH with the path to all minor modules.
  • For modules that are used in many programs, the shell approach is often best; in this case, you can permanently modify PYTHONPATH by updating it in you shell initialization file (.bashrc, etc.).
EOL
@EOL, thank you. I'll know.
Kalinin