Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Michael Selik Newsgroups: comp.lang.python Subject: Re: [Q] ImportError by __import__() on Python >= 3.4 Date: Wed, 08 Jun 2016 13:24:29 +0000 Lines: 35 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: news.uni-berlin.de mT+aKUUHKrH+O7mLRbgoswvVKyGnL2O3kGWWYYPb6SOg== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'subject:: [': 0.03; 'subject:Python': 0.05; 'fixes': 0.05; 'bug.': 0.07; 'dynamically': 0.07; 'cc:addr:python-list': 0.09; 'files.': 0.13; 'suggest': 0.15; 'wed,': 0.15; 'importing': 0.15; "skip:' 30": 0.15; 'thu,': 0.15; '2016': 0.16; 'great!': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'write,': 0.16; 'wrote:': 0.16; 'skip:` 20': 0.18; 'email addr:gmail.com>': 0.18; 'subject:] ': 0.19; '>>>': 0.20; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'am,': 0.23; 'header:In-Reply-To:1': 0.24; 'message- id:@mail.gmail.com': 0.27; "skip:' 10": 0.28; 'code': 0.30; 'strongly': 0.30; "i'd": 0.31; 'skip:_ 10': 0.32; 'url:python': 0.33; 'michael': 0.33; 'tue,': 0.34; 'worked': 0.34; 'received:google.com': 0.35; 'trouble': 0.35; 'replaced': 0.35; 'skip:i 20': 0.36; 'instead': 0.36; 'url:org': 0.36; 'received:209.85': 0.36; 'url:library': 0.36; 'received:209': 0.38; 'received:209.85.216': 0.38; 'delete': 0.38; 'thank': 0.38; 'why': 0.39; 'well.': 0.40; 'url:3': 0.60; 'your': 0.60; "you'll": 0.61; 'choose': 0.68; 'kuwata': 0.84; 'makoto': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1VvBmNGkg9ElIy30h6rOdhe4xtZONDQ756+8C53/BMU=; b=uS3VOovpMMxvo5S1DwXmTIcN09AFv9Y2jDFtCJlovEMLCny9W25IYG5j24ItPNmmYl fiSFwMsVIEy+9ew3k51Qp2MbHgx9+Mi8oEq2DbeU+IKMWavxCTNDVDaI82SSX1tDj04P O5vFdMIfTynm9QGZwQmDTxqVq0/srSvDHzq+LwTq/NRXq/5wpgKclX/y8T7Vtj2+PeR3 Glqv+B8rAPR0+T6I3Win2Z2sfcIRrKvLvf4T5WwjEeqycxCYmORfX3WcNyD8w3bD2WB/ pa8QYMEo3NWvvtVKKUABDuiz5Lx3QdOG2+lj6mPZeKOvWs3TAZFL/l6JBOffE6/PLNrx E9ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1VvBmNGkg9ElIy30h6rOdhe4xtZONDQ756+8C53/BMU=; b=GraMkb5qpd762atgmk9jnGrBW70rVhsZeoxVxqPROHMYlHpWLhkqWmZruBLhyyG0yn JAV48wsVzR8nNDSZjqkx/of4gdnxxke9scGlawx1ijWtPO0dtjlEhnToKsGHmrsZqvGM 1sXQlhZVPJfqEET8yPLZdTsvqhFkfAE4Tau5+ZjLrwvXO9sV7WckxYr8SLSpFf2+DuBh DwcGxJYTmrZ0AwPD9nhjk1Q0BK/L6qSyhtiGAXbzo4oW49uIMdVg5/q16ESPBk+X7/Wb GktS+Lq59MNrMGvFnNhVtT3TTZpwe7hpRzg3K1fZY69Ma4WX0ffLLoaGLFh6RY/07395 wJsQ== X-Gm-Message-State: ALyK8tJb9JO11OeQVWwY9Fjv21vQiqlNtE8wCbAyS4QyKNyH4xbNgYD0Wt3gHniAdA4n6bSOHCnna9Bn94yPIQ== X-Received: by 10.237.49.66 with SMTP id 60mr4610310qtg.103.1465392279570; Wed, 08 Jun 2016 06:24:39 -0700 (PDT) In-Reply-To: X-Content-Filtered-By: Mailman/MimeDel 2.1.22 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: Xref: csiph.com comp.lang.python:109677 By the way, why choose to write, import, and delete modules? I'd think exec'ing code would be sufficient. On Wed, Jun 8, 2016, 5:52 AM Makoto Kuwata wrote: > On Tue, Jun 7, 2016 at 7:28 AM, Michael Selik > wrote: > >> On Thu, Jun 2, 2016 at 10:06 AM Makoto Kuwata wrote: >> >>> I have a trouble around __import__(). >>> >> >> The docs for __import__ strongly recommend that you use importlib instead >> https://docs.python.org/3.5/library/importlib.html#importlib.import_module >> >> The docs for ``importlib.import_module`` suggest that you use >> ``invalidate_caches`` if you are importing dynamically generated files. >> >> https://docs.python.org/3.5/library/importlib.html#importlib.invalidate_caches >> >> I think you'll find this fixes your bug. >> > > Great! > I replaced '__import__()' in my code with 'importlib.invalidate_cache(); > importlib.import_module()' > and found it worked very well. > Thank you very much. > > -- > regards, > makoto > >