@@ -127,7 +127,7 @@ def conflicts(self, name):
127
127
try :
128
128
recipe = Recipe .get_recipe (name , self .ctx )
129
129
conflicts = recipe .conflicts
130
- except OSError :
130
+ except IOError :
131
131
conflicts = []
132
132
133
133
if any ([c in self for c in conflicts ]):
@@ -152,7 +152,7 @@ def recursively_collect_orders(name, ctx, orders=[]):
152
152
conflicts = []
153
153
else :
154
154
conflicts = recipe .conflicts
155
- except OSError :
155
+ except IOError :
156
156
# The recipe does not exist, so we assume it can be installed
157
157
# via pip with no extra dependencies
158
158
dependencies = []
@@ -209,8 +209,8 @@ def get_recipe_order_and_bootstrap(ctx, names, bs=None):
209
209
210
210
possible_orders = []
211
211
212
- # get all possible recipe sets if names includes alternative
213
- # dependencies
212
+ # get all possible order graphs, as names may include tuples/lists
213
+ # of alternative dependencies
214
214
names = [([name ] if not isinstance (name , (list , tuple )) else name )
215
215
for name in names ]
216
216
for name_set in product (* names ):
@@ -258,11 +258,20 @@ def get_recipe_order_and_bootstrap(ctx, names, bs=None):
258
258
259
259
if bs is None :
260
260
bs = Bootstrap .get_bootstrap_from_recipes (chosen_order , ctx )
261
- chosen_order , bs = get_recipe_order_and_bootstrap (ctx , chosen_order , bs = bs )
262
-
263
- return chosen_order , bs
264
-
261
+ recipes , python_modules , bs = get_recipe_order_and_bootstrap (ctx , chosen_order , bs = bs )
262
+ else :
263
+ # check if each requirement has a recipe
264
+ recipes = []
265
+ python_modules = []
266
+ for name in chosen_order :
267
+ try :
268
+ recipe = Recipe .get_recipe (name , ctx )
269
+ except IOError :
270
+ python_modules .append (name )
271
+ else :
272
+ recipes .append (name )
265
273
274
+ return recipes , python_modules , bs
266
275
267
276
268
277
# def get_recipe_order_and_bootstrap(ctx, names, bs=None):
0 commit comments