Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #19491

Re: import fails in non-interactive interpreter

References <9115def9-c2f6-4ac9-ae4b-8b1b8867ba7b@c21g2000yqi.googlegroups.com> <4F2131E1.6040105@sequans.com> <CAOWCkUPX-YNCCSbKx5RvJ9yc+mJ37ymBY3fxvQf3ZZKSXHiV4Q@mail.gmail.com> <4F2159E1.1010905@sequans.com>
Date 2012-01-26 09:37 -0500
Subject Re: import fails in non-interactive interpreter
From Brian Brinegar <brian.brinegar@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.5128.1327588664.27778.python-list@python.org> (permalink)

Show all headers | View raw


On Thu, Jan 26, 2012 at 8:49 AM, Jean-Michel Pichavant
<jeanmichel@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
>> <jeanmichel@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

Back to comp.lang.python | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

import fails in non-interactive interpreter Brian <brian.brinegar@gmail.com> - 2012-01-25 18:25 -0800
  Re: import fails in non-interactive interpreter Devin Jeanpierre <jeanpierreda@gmail.com> - 2012-01-25 22:04 -0500
  Re: import fails in non-interactive interpreter Jean-Michel Pichavant <jeanmichel@sequans.com> - 2012-01-26 11:58 +0100
  Re: import fails in non-interactive interpreter Brian Brinegar <brian.brinegar@gmail.com> - 2012-01-26 07:47 -0500
  Re: import fails in non-interactive interpreter Jean-Michel Pichavant <jeanmichel@sequans.com> - 2012-01-26 14:49 +0100
  Re: import fails in non-interactive interpreter Brian Brinegar <brian.brinegar@gmail.com> - 2012-01-26 09:37 -0500

csiph-web