py2exe importing a package not in library.zip

2008-08-20 Thread mypetslug
Hi,
I'm sorry if this has been asked before, but I can't seem to find an
answer to this anywhere and so far, trial and error hasn't gotten me
far either.

Using python 2.4, I've created a testing application.  When the app
starts up, I do a [code]from tests import *[/code] and it looks at
the /tests directory and loads up all the tests it finds at that
time.  This works fine when interpreting the python code directly.
The problem I'm having is trying to create an executable for
distribution.

What I'd like to be able to do is to include everything in the
library.zip *except* the tests directory and then as I (or whoever)
creates more and more tests, have the ability to simply drop them into
the directory and the next time the app starts, it'll pick them up.
However, if I don't include the tests in library.zip, then when I hit
the [code]from tests import *[/code], it complains "AttributeError:
'module' object has no attribute 'test1'" when it gets to the first
test.  And If I do include the tests in the library.zip, it works with
the tests that I have now, but then I still can't add any new ones
without the attribute error unless I regenerate the exe every time.

Basically, it seems like it comes down to importing a package outside
the library.zip.  So, is there any way to do this with py2exe?  Or
even another exe creating application?

Thanks,
MyPetSlug
--
http://mail.python.org/mailman/listinfo/python-list


Re: py2exe importing a package not in library.zip

2008-08-25 Thread mypetslug
On Aug 20, 4:48 pm, [EMAIL PROTECTED] wrote:
> Hi,
> I'm sorry if this has been asked before, but I can't seem to find an
> answer to this anywhere and so far, trial and error hasn't gotten me
> far either.
>
> Using python 2.4, I've created a testing application.  When the app
> starts up, I do a [code]from tests import *[/code] and it looks at
> the /tests directory and loads up all the tests it finds at that
> time.  This works fine when interpreting the python code directly.
> The problem I'm having is trying to create an executable for
> distribution.
>
> What I'd like to be able to do is to include everything in the
> library.zip *except* the tests directory and then as I (or whoever)
> creates more and more tests, have the ability to simply drop them into
> the directory and the next time the app starts, it'll pick them up.
> However, if I don't include the tests in library.zip, then when I hit
> the [code]from tests import *[/code], it complains "AttributeError:
> 'module' object has no attribute 'test1'" when it gets to the first
> test.  And If I do include the tests in the library.zip, it works with
> the tests that I have now, but then I still can't add any new ones
> without the attribute error unless I regenerate the exe every time.
>
> Basically, it seems like it comes down to importing a package outside
> the library.zip.  So, is there any way to do this with py2exe?  Or
> even another exe creating application?
>
> Thanks,MyPetSlug

Hi Again,
So, someone responded with some tips about paths, so my paths are
correct in the exe and I verified this by printing them out.  So, my
problem is not that, I guess.  And in my original email, I simplified
my scenario because I thought it was a problem with paths.  So, let me
back up a little.

My tests directory actually has several sub-directories, so it's laid
out like this: tests/testCategory1, tests/testCategory2, tests/
testCategory1/subCategory1/test1, and so on.  With potentially
hundreds of tests, I needed some organization.  Anyway, in my tests
directory, I have an __init__.py with " __all__=["testCategory1",
"testCategory2"]" and it's this that the exe keeps choking on.  Even
though I append the path directly above the __all__ via "
sys.path.append(os.path.abspath('') + '\\tests')" and
"sys.path.append(os.path.abspath('') + '\\tests\\testCategory1')" (the
second one just to be safe), when I execute the import *, it still
tells me "AttributeError: 'module' object has no attribute
'testCategory1'"

Again, this works fine when just executing the python code without the
exe.  What am I doing wrong?  Or can anyone even point me to the right
place to possibly find an answer?

Thanks,
MyPetSlug
--
http://mail.python.org/mailman/listinfo/python-list