Я пытаюсь использовать python с mpi4py. Однако, когда я бегу from mpi4py import MPI
в среде Python, я получаю следующее сообщение об ошибке:mpi4py: библиотека не загружена: /usr/local/lib/libmpi.1.dylib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/mpi4py/MPI.so, 2): Library not loaded: /usr/local/lib/libmpi.1.dylib
Referenced from: /usr/local/lib/python2.7/site-packages/mpi4py/MPI.so
Reason: image not found
В указанном пути (/usr/local/lib/
) У меня есть то, что я думаю, что это версия требуемого файла под названием libmpi.12.dylib
. Я посмотрел на source code for mpi4py и из того, что могу сказать, этот файл действителен, но по какой-то причине mpi4py (особенно MPI.so) все еще пытается использовать .1. версия.
Отображается сообщение об ошибке, выполняемое с использованием mpirun
, или просто введите команду импорта в сеансе терминала python (последний из них - это то, как я сгенерировал сообщение об ошибке как скопированное здесь).
Буду признателен за любую помощь по этому вопросу. Я попытался переустановить и/или обновить все связанные пакеты и коды, но это не решило проблему.
--- ОБНОВЛЕНИЕ --- Из отчаяния я попытался переименовать libmpi.12.dylib
в libmpi.1.dylib
, и это сработало, по крайней мере пока. Меня все еще интересует решение без хака, если у кого-то есть.
Когда вы запускаете свою программу, используете ли вы MPI? То есть вы используете команду 'mpiexec -n # python myprogram.py ...' или просто 'python myprogram.py ...'? Чтобы быть ясным, первое верно при использовании MPI. – Kevin
@Kevin, я обновил свой вопрос в ответ на ваш комментарий. – jthomas