classification
Title: Nested namespace imports do not work inside zip archives
Type: behavior Stage:
Components: Versions: Python 3.4, Python 3.5
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Andrey.Antsut, Jonathan Hsu, barry, eric.smith, eric.snow, gregory.p.smith, ncoghlan, serhiy.storchaka, twouters
Priority: normal Keywords:

Created on 2014-03-12 20:30 by Andrey.Antsut, last changed 2020-03-24 16:05 by theller.

Files
File name Uploaded Description Edit
reproduce.zip Andrey.Antsut, 2014-03-12 20:30
Messages (2)
msg213290 - (view) Author: Andrey Antsut (Andrey.Antsut) Date: 2014-03-12 20:30
Importing modules from subdirectories as "implicit namespace packages" (PEP 420) inside a ZIP archive only works one level deep. Imports from within nested namespaces fail with "ImportError: No module named 'XXX'".

I am attaching an archive with example directory/file structure. To reproduce the problem, run the following from where you unzipped it:

python
>>> import sys
>>> sys.path += ['project1', 'project2.zip', 'project3', 'project4.zip']
>>> import parent.child.hello1
Hello 1
>>> import parent.child.hello2
ImportError: No module named 'parent.child.hello2'
>>> import parent.child.hello3
Hello 3
>>> import parent.child.hello4
ImportError: No module named 'parent.child.hello4'
>>> import boo
boo!
>>> import parent.boo
boo!

Tested on WinXP SP3 with Python 3.3.5 and 3.4.0rc3.
msg364937 - (view) Author: Jonathan Hsu (Jonathan Hsu) * Date: 2020-03-24 15:54
It appears this issue has been fixed, as I am unable to reproduce it on Windows 10/Python 3.7:

Python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path += ['project1', 'project2.zip', 'project3', 'project4.zip']
>>> import parent.child.hello1
Hello 1
>>> import parent.child.hello2
Hello 2
>>> import parent.child.hello3
Hello 3
>>> import parent.child.hello4
Hello 4
>>> import boo
boo!
>>> import parent.boo
boo!
History
Date User Action Args
2020-03-24 16:05:14thellersetnosy: - theller
2020-03-24 15:54:23Jonathan Hsusetnosy: + Jonathan Hsu
messages: + msg364937
2020-03-18 18:42:16brett.cannonsetnosy: - brett.cannon
2014-11-26 11:53:21thellersetnosy: + theller
2014-11-25 14:39:53brett.cannonsetnosy: + twouters, gregory.p.smith
2014-11-25 09:09:40serhiy.storchakasetnosy: + serhiy.storchaka

versions: + Python 3.5, - Python 3.3
2014-03-13 00:07:07pitrousetnosy: + brett.cannon, ncoghlan, eric.snow
2014-03-12 21:50:06eric.smithsetnosy: + eric.smith
2014-03-12 20:33:52barrysetnosy: + barry
2014-03-12 20:30:25Andrey.Antsutcreate