Я столкнулся с этой проблемой, что в итоговом результате отсутствует какой-либо dict
литерал, связанный с ipyparallel map
, и становится {}
.IPython-Parallel: Dict literal отсутствует на параллельной карте
Эта проблема не влияет на элементы dict, добавленные с помощью метода update
и конструкторов dict.
Чтобы воспроизвести проблему, вы можете развернуть кластер с помощью direct view
, называемого, скажем dview
. Следующий код был протестирован в IPython с Python 3.4 (как клиент, так и движок).
dview.map(lambda x: {'label': x*2}, range(4)}
Он вернется [{}, {}, {}, {}]
, когда вы ожидаете, что ключ label
появится в Словаре.
Та же проблема возникает и в следующих ситуациях:
- Нормальная функция объявления
- Dict буквальным используется в качестве промежуточного значения (даже в качестве аргумента
update
)
Просто поняли: Это только воспроизводимый с использованием удаленного кластера. Создайте 'ipcluster' на локальной машине, он отлично работает. Даже если я выполняю 'ipython', тогда' rc = Client() 'на самой машине, на которой размещен контроллер, приведенный выше код работает правильно. – streamliner18