[Grok-dev] Grokserver scripts using a different path than python's console

Hector Blanco white.lists at gmail.com
Wed Dec 15 11:11:28 EST 2010


Hello everyone... I just tried to install the latest version of
grokserver (1.2.1) but for some reason the PATH the scripts to install
and start the server differ for the path the regular python console
uses.

I created a "server" project under "$HOME/myown-cms/" using:
$ grokproject server
(no sudo)

It worked fine, everything was installed and the server started working.

Then I manually installed the MySQL-python-1.2.3.tar.gz package which
installs its .egg under /usr/local/lib/python2.6/dist-packages/

And when I tried to use it in my grokserver application, I got a nasty
exception: ImportError: No module named MySQLdb. If I open a python
console I can properly import MySQLdb.

I studied the version and the path both console and the grok-scripts
under server/bin/ are using, and I got this:

In bin/paster:
---------------------------------------------------------------
/usr/bin/python2.6
/home/ae/myown-cms/server/parts/app
/home/ae/myown-cms/server/bin
/usr/lib/python2.6
/usr/lib/python2.6/plat-linux2
/usr/lib/python2.6/lib-tk
/usr/lib/python2.6/lib-old
/usr/lib/python2.6/lib-dynload
/home/ae/myown-cms/server/src
/home/ae/.buildout/eggs/z3c.evalexception-2.0-py2.6.egg
/home/ae/.buildout/eggs/Paste-1.7.5.1-py2.6.egg
/home/ae/.buildout/eggs/setuptools-0.6c11-py2.6.egg
/home/ae/.buildout/eggs/PasteScript-1.7.3-py2.6.egg
/home/ae/.buildout/eggs/PasteDeploy-1.3.4-py2.6.egg
/home/ae/.buildout/eggs/zope.security-3.7.4-py2.6-linux-i686.egg
/home/ae/.buildout/eggs/grokcore.startup-1.1-py2.6.egg

[ . . . A LOT OF OTHER EGGS IN $HOME/.buildout/eggs . . . ]

/home/ae/.buildout/eggs/mechanize-0.2.3-py2.6.egg
/home/ae/.buildout/eggs/zope.minmax-1.1.2-py2.6.egg
/home/ae/.buildout/eggs/zope.tal-3.5.2-py2.6.egg
/home/ae/.buildout/eggs/RestrictedPython-3.6.0-py2.6.egg
/home/ae/.buildout/eggs/zope.datetime-3.4.0-py2.6.egg
/home/ae/.buildout/eggs/zope.testing-3.10.0-py2.6.egg
---------------------------------------------------------------


For the console:
---------------------------------------------------------------
ae at ae-desktop:~$ python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.executable
'/usr/bin/python'
(just a link to /usr/bin/python2.6, same thing the paster script)
>>> for pth in sys.path:
...     print pth
...

/usr/local/lib/python2.6/dist-packages/grokproject-2.2-py2.6.egg
/usr/local/lib/python2.6/dist-packages/lxml-2.3beta1-py2.6-linux-i686.egg
/usr/local/lib/python2.6/dist-packages/hashlib-20081119-py2.6-linux-i686.egg
/usr/local/lib/python2.6/dist-packages/feedparser-4.1-py2.6.egg

[ . . . A LOT OF OTHER EGGS IN /usr/local/lib/python2.6/dist-packages/ . . . ]

/usr/local/lib/python2.6/dist-packages/zope.copy-3.5.0-py2.6.egg
/usr/local/lib/python2.6/dist-packages/zope.testing-3.10.0-py2.6.egg
/usr/local/lib/python2.6/dist-packages/MySQL_python-1.2.3-py2.6-linux-i686.egg
/usr/lib/python2.6
/usr/lib/python2.6/plat-linux2
/usr/lib/python2.6/lib-tk
/usr/lib/python2.6/lib-old
/usr/lib/python2.6/lib-dynload
/usr/lib/python2.6/dist-packages
/usr/lib/python2.6/dist-packages/PIL
/usr/lib/python2.6/dist-packages/gst-0.10
/var/lib/python-support/python2.6
/usr/lib/python2.6/dist-packages/gtk-2.0
/var/lib/python-support/python2.6/gtk-2.0
/usr/local/lib/python2.6/dist-packages
---------------------------------------------------------------

The Path information under /usr/local/lib/python2.6/dist-packages/
that appears with the console doesn't appear in the paster script, and
I don't know why... Do I have to install the grokserver being root?

I have another instance of grokserver running with python2.4, and I
was able to import the module MySQLdb there. I read that I could be
having this kind of trouble for having two different python versions,
but I'm not really sure if this problem is caused for that or not.

Any hint will be deeply appreciated. Thank you in advance


More information about the Grok-dev mailing list