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

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


Let me re-phrase it...

By adding the 'mysql-python' to the install_requires in my
$HOME/myown-cms/server/setup.py, it works:

      install_requires=['setuptools',
                        'grok',
                        'grokui.admin',
                        'z3c.testsetup',
                        'grokcore.startup',
                        # Add extra requirements here
			'mysql-python'

It properly gets
*************** PICKED VERSIONS ****************
[versions]
MySQL-python = 1.2.3

*************** /PICKED VERSIONS ***************

when I re-run bin/buildout, but I'd like to know a little bit more
about what happened there.

Did the script grab the mysql-python from the version I had installed
under /usr/local/lib/python2.6/dist-packages/? I mean... if I want  to
use an external package (such as this one, where I have to download
the .tar.gz or another package installed with apt-get), should I
download the package, install it (under dist-packages/, probably) and
then add it to install_requires? Or does grok know where to get the
mysql-python package "magically"?

Thank you!


2010/12/15 Hector Blanco <white.lists at gmail.com>:
> Wow... thank you for the quick answer...
>
> I see a setup.py under my "server" folder, but that is automatically
> created with grokproject. Should I put it there and re-run
> bin/buildout?
>
> 2010/12/15 Jeffrey Peterson <bgpete at gmail.com>:
>> Put mysql-python in install requires in setup.py and let grokproject install it for you.
>>
>> On Dec 15, 2010, at 10:11 AM, Hector Blanco wrote:
>>
>>> 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
>>> _______________________________________________
>>> Grok-dev mailing list
>>> Grok-dev at zope.org
>>> https://mail.zope.org/mailman/listinfo/grok-dev
>>
>>
>


More information about the Grok-dev mailing list