@@ -133,8 +133,6 @@ def _install_as_egg(self, destination_eggdir, zf):
133133
134134 @staticmethod
135135 def _convert_metadata (zf , destination_eggdir , dist_info , egg_info ):
136- import pkg_resources
137-
138136 def get_metadata (name ):
139137 with zf .open (posixpath .join (dist_info , name )) as fp :
140138 value = fp .read ().decode ('utf-8' )
@@ -148,8 +146,32 @@ def get_metadata(name):
148146 raise ValueError (f'unsupported wheel format version: { wheel_version } ' )
149147 # Extract to target directory.
150148 _unpack_zipfile_obj (zf , destination_eggdir )
151- # Convert metadata.
152149 dist_info = os .path .join (destination_eggdir , dist_info )
150+ install_requires , extras_require = Wheel ._convert_requires (
151+ destination_eggdir , dist_info
152+ )
153+ os .rename (dist_info , egg_info )
154+ os .rename (
155+ os .path .join (egg_info , 'METADATA' ),
156+ os .path .join (egg_info , 'PKG-INFO' ),
157+ )
158+ setup_dist = setuptools .Distribution (
159+ attrs = dict (
160+ install_requires = install_requires ,
161+ extras_require = extras_require ,
162+ ),
163+ )
164+ with disable_info_traces ():
165+ write_requirements (
166+ setup_dist .get_command_obj ('egg_info' ),
167+ None ,
168+ os .path .join (egg_info , 'requires.txt' ),
169+ )
170+
171+ @staticmethod
172+ def _convert_requires (destination_eggdir , dist_info ):
173+ import pkg_resources
174+
153175 dist = pkg_resources .Distribution .from_location (
154176 destination_eggdir ,
155177 dist_info ,
@@ -172,23 +194,7 @@ def raw_req(req):
172194 ]
173195 for extra in dist .extras
174196 }
175- os .rename (dist_info , egg_info )
176- os .rename (
177- os .path .join (egg_info , 'METADATA' ),
178- os .path .join (egg_info , 'PKG-INFO' ),
179- )
180- setup_dist = setuptools .Distribution (
181- attrs = dict (
182- install_requires = install_requires ,
183- extras_require = extras_require ,
184- ),
185- )
186- with disable_info_traces ():
187- write_requirements (
188- setup_dist .get_command_obj ('egg_info' ),
189- None ,
190- os .path .join (egg_info , 'requires.txt' ),
191- )
197+ return install_requires , extras_require
192198
193199 @staticmethod
194200 def _move_data_entries (destination_eggdir , dist_data ):
0 commit comments