R
Roy Smith
I'm trying to use a custom version of mongoengine. I cloned the git
repo and put the directory on my PYTHONPATH, but python is still
importing the system's installed version. Looking at sys.path, it's
obvious why:
$ echo $PYTHONPATH
/home/roy/songza:/home/roy/lib/mongoengine
['',
'/usr/local/lib/python2.6/dist-packages/selenium-2.0a5-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/unittest2-0.5.1-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/pymongo-1.9-py2.6-linux-x86_64.eg
g',
'/usr/local/lib/python2.6/dist-packages/virtualenv-1.5.2-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/mongoengine-0.5.2-py2.6.egg',
'/home/roy/songza',
'/home/roy/lib/mongoengine',
'/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',
'/usr/lib/pymodules/python2.6',
'/usr/lib/python2.6/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.6/gtk-2.0',
'/usr/local/lib/python2.6/dist-packages']
The system eggs come before my path. I found
http://mail.python.org/pipermail/distutils-sig/2006-July/006520.html in
the archives; it explains that eggs come before PYTHONPATH, but doesn't
explain how to get around this problem. I emphatically agree with
Michael Bayer who said:
So, is there any way to get my local copy of mongoengine loaded instead
of the system egg? I could probably import sys, and do an egg-ectomy on
sys.path before importing mongoengine, but that's too gross to
contemplate.
repo and put the directory on my PYTHONPATH, but python is still
importing the system's installed version. Looking at sys.path, it's
obvious why:
$ echo $PYTHONPATH
/home/roy/songza:/home/roy/lib/mongoengine
['',
'/usr/local/lib/python2.6/dist-packages/selenium-2.0a5-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/unittest2-0.5.1-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/pymongo-1.9-py2.6-linux-x86_64.eg
g',
'/usr/local/lib/python2.6/dist-packages/virtualenv-1.5.2-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/mongoengine-0.5.2-py2.6.egg',
'/home/roy/songza',
'/home/roy/lib/mongoengine',
'/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',
'/usr/lib/pymodules/python2.6',
'/usr/lib/python2.6/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.6/gtk-2.0',
'/usr/local/lib/python2.6/dist-packages']
The system eggs come before my path. I found
http://mail.python.org/pipermail/distutils-sig/2006-July/006520.html in
the archives; it explains that eggs come before PYTHONPATH, but doesn't
explain how to get around this problem. I emphatically agree with
Michael Bayer who said:
I cant think of a possible scenario where a path would explicitly
exist in PYTHONPATH, non-egg or egg, where the user would still like the
system-wide installation to take precedence
So, is there any way to get my local copy of mongoengine loaded instead
of the system egg? I could probably import sys, and do an egg-ectomy on
sys.path before importing mongoengine, but that's too gross to
contemplate.