aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Duryagin <aduryagin@gmail.com>2017-02-10 19:16:37 +0300
committerAlexander Duryagin <aduryagin@gmail.com>2017-02-10 19:16:37 +0300
commitd6ffbbd869548f855e7550cf28686e88b48a1495 (patch)
tree7ab958e7254de46f98ec7cef034b2bd6308e7583
parentf7ede6daf7823a2054180aa6d6366c1c0afdade5 (diff)
downloadexternal_python_setuptools-d6ffbbd869548f855e7550cf28686e88b48a1495.tar.gz
external_python_setuptools-d6ffbbd869548f855e7550cf28686e88b48a1495.tar.bz2
external_python_setuptools-d6ffbbd869548f855e7550cf28686e88b48a1495.zip
support dist-info distributions inside zip files
-rw-r--r--pkg_resources/__init__.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py
index e33de0e7..220a7ccc 100644
--- a/pkg_resources/__init__.py
+++ b/pkg_resources/__init__.py
@@ -1956,6 +1956,12 @@ def find_eggs_in_zip(importer, path_item, only=False):
subpath = os.path.join(path_item, subitem)
for dist in find_eggs_in_zip(zipimport.zipimporter(subpath), subpath):
yield dist
+ elif subitem.lower().endswith('.dist-info'):
+ subpath = os.path.join(path_item, subitem)
+ submeta = EggMetadata(zipimport.zipimporter(subpath))
+ submeta.egg_info = subpath
+ yield Distribution.from_location(path_item, subitem, submeta)
+
register_finder(zipimport.zipimporter, find_eggs_in_zip)