On Thu, Jan 26, 2012 at 8:49 AM, Jean-Michel Pichavant <jeanmic...@sequans.com> wrote: > Brian Brinegar wrote: >> >> JM, >> >> Thanks for the response, you're correct '' is pre-pended to the path >> in interactive mode. I've tried adding . to my PYTHONPATH and it >> doesn't solve the problem. >> >> When imported from interactive python the paste.deploy module is located >> at: >> >> >>>>> >>>>> import paste.deploy >>>>> paste.deploy.__path__ >>>>> >> >> ['/home/brian/webapps/test_dyn/lib/python2.7/paste/deploy'] >> >> My path for both interactive and non-interactive contains: >> >> /home/brian/webapps/test_dyn/lib/python2.7 >> >> From the interactive interpreter I can import paste if my working >> directory is inside of the. >> >> /home/brian/webapps/test_dyn >> >> Moving to a working directory above "test_dyn" point causes the import >> to fail in the interactive interpreter as well. >> >> I am able to import packages located the lib/python2.7/site-packages >> directory of my virtualenv instance, but not the lib/python2.7 >> directory. >> >> Thanks again, >> Brian >> >> >> >> On Thu, Jan 26, 2012 at 5:58 AM, Jean-Michel Pichavant >> <jeanmic...@sequans.com> wrote: >> >>> >>> Brian wrote: >>> >>>> >>>> I've been banging my head against this for the past hour, and I'm >>>> hoping someone here can set me straight. >>>> >>>> >>>> >>> >>> [Snip] >>> >>>> >>>> but, using the same same python, I'm able to import the module from >>>> the interactive interpreter. The PATH and PYTHONPATH environment >>>> variables are identical in both contexts. >>>> >>>> >>> >>> Are you sure ? with python 2.5, in interactive mode '' is happened to >>> sys.path and is absent from it when a python file is executed. >>> >>> python -c "import sys; print '' in sys.path" >>> True >>> python test.py >>> False >>> >>> >>>> >>>> Under what situations would a module be available to through the >>>> interactive interpreter but not the non-interactive? >>>> >>>> I greatly appreciate any thoughts, >>>> Brian >>>> >>>> >>> >>> As a more general notice, if you want to be able to import paste from >>> everywhere, it must be properly installed as a python module. >>> >>> Cheers, >>> >>> JM >>> > > Difficult to say without your PYTHONPATH value. > > Assuming your PYTHONPATH is > > /home/brian/webapps/test_dyn/lib/python2.7/site-packages > > 1/ paste is stable, copy the paste directory into > /home/brian/webapps/test_dyn/lib/python2.7/site-packages > 2/ paste is not stable, i.e. you're changing it from time to time, make a > symbolic link to your dev paste directory within > /home/brian/webapps/test_dyn/lib/python2.7/site-packages > > you should now be able to import paste from anywhere. > > JM > > > PS : please don't top post
JM, Thanks so much for all of your help. I added a symlink in site-packages and it still did not work. Upon further investigation I found that the there wasn't an __init__.py in the paste or paste/deploy directories. Creating python2.7/paste/__init__.py and python2.7/paste/deploy/__init__.py fixed the issue without a need for the symlink. I'm curious why the interactive interpreter is able to import this without the proper package structure. Thanks again for your help, Brian -- http://mail.python.org/mailman/listinfo/python-list