@@ -133,8 +133,6 @@ def _install_as_egg(self, destination_eggdir, zf):
133
133
134
134
@staticmethod
135
135
def _convert_metadata (zf , destination_eggdir , dist_info , egg_info ):
136
- import pkg_resources
137
-
138
136
def get_metadata (name ):
139
137
with zf .open (posixpath .join (dist_info , name )) as fp :
140
138
value = fp .read ().decode ('utf-8' )
@@ -148,8 +146,32 @@ def get_metadata(name):
148
146
raise ValueError (f'unsupported wheel format version: { wheel_version } ' )
149
147
# Extract to target directory.
150
148
_unpack_zipfile_obj (zf , destination_eggdir )
151
- # Convert metadata.
152
149
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
+
153
175
dist = pkg_resources .Distribution .from_location (
154
176
destination_eggdir ,
155
177
dist_info ,
@@ -172,23 +194,7 @@ def raw_req(req):
172
194
]
173
195
for extra in dist .extras
174
196
}
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
192
198
193
199
@staticmethod
194
200
def _move_data_entries (destination_eggdir , dist_data ):
0 commit comments