Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #25766
| References | <CA+WuaScBDU_5LcrCrTtDr6N3gHCk9hQ03fA=DT359GCRY=a=KQ@mail.gmail.com> <CA+WuaSeRExxaD9yCNWhXoWqsV_ZqP8DOvdErMRdNS-H_UtzQyg@mail.gmail.com> <87a9yt7bw6.fsf@handshake.de> <CA+WuaSc1wzUqUyw_=QqryN2H_FKYqxspnuqBWECVq5-DH2Lcvg@mail.gmail.com> <500AD83B.1090403@davea.name> |
|---|---|
| Date | 2012-07-21 14:36 -0600 |
| Subject | Re: A thread import problem |
| From | Bruce Sherwood <bruce.sherwood@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.2397.1342903004.4697.python-list@python.org> (permalink) |
Thanks much for this clear statement. I hadn't managed to find any documentation on this specific issue. Bruce Sherwood On Sat, Jul 21, 2012 at 10:26 AM, Dave Angel <d@davea.name> wrote: > Two of the things you mustn't do during an import: > > 1) start or end any threads > 2) import something that's already in the chain of pending imports. > (otherwise known as recursive imports, or import loop). And there's a > special whammy reserved for those who import the script as though it > were a module. > > Like any rule, there are possible exceptions. But you're much better > off factoring your code better. > > I haven't managed to understand your software description, so i'm not > making a specific suggestion. But I know others have pointed out that > you should do as little as possible in top-level code of an imported > module. Make the work happen in a function, and call that function from > the original script, not from inside some import. An imported module's > top-level code should do nothing more complex than initialize module > constants. > > > -- > > DaveA > >
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: A thread import problem Bruce Sherwood <bruce.sherwood@gmail.com> - 2012-07-21 14:36 -0600
csiph-web