Недавно я начал получать SyntaxError
с при параллельном имитации нейронной сети с использованием brian2
. Они поднимаются вызовами scipy.weave.inline
, когда он пытается оценить строки кода в файле кеша.Состояние гонки с scipy.weave.inline
Полное описание проблемы и моя догадка по ее причине: here.
И here - это ссылка на связанный с этим вопрос, который я задал ранее, с полной стеком для одной из ошибок. Мой ответ на этот вопрос дает лишь временное решение. (Ошибки синтаксиса повторно вводятся, как только выполняется новый набор параллельных запусков.)
Есть ли простой способ избежать этого состояния гонки?
Чтобы уточнить, это время выполнения 'SyntaxError', которое вызывается кодом пользователя, а не интерпретатором python? – amccormack
@amccormack ошибка выводится интерпретатором - то есть ни мой код, ни 'brian2', ни' scipy' явно не вызывают ошибку. это происходит, когда 'eval (line)' вызывается внутри 'scipy.weave', где' line' является строкой из одного из файлов кеша. – dbliss
Я ничего не знаю о scipy, поэтому я не могу представить, как избежать фактической проблемы. «Eval» означает, что он основан на генерации кода на лету, и это то, что я пытался уточнить, поэтому мы могли бы исключить файл .py, на самом деле имевший ошибку. – amccormack