Ради полноты я подумал, что добавлю тот факт, что NumPy 'all' отличается от встроенного 'all'. Если, например, запуск Python через Python (x, y), NumPy загружается автоматически (и, насколько я знаю, не может быть выгружен), поэтому при попытке запустить приведенный выше код выдает довольно неожиданные результаты:
>>> if (all(v == 0 for v in [0,1])):
... print 'this should not happen'
... this should not happen
Более подробная информация по этому вопросу содержится в вопросе переполнения стека numpy все отличается от встроенного все . В качестве решения вы можете заключить генератор в квадратные скобки, чтобы получить список:
>>> all( [v == 0 for v in [0,1]] )
False
Или вызовите встроенную функцию явно:
>>> __builtins__.all(v == 0 for v in [0,1,'2'])
False
Я нашел способ запретить Spyder импортировать NumPy по умолчанию:
Список импорта модулей Spyder по умолчанию