2016-06-15 3 views
0

Привет всем,Ошибка импорта с некоторыми модулями в pyoptsparse

Я установил Openmdao, pyOpt и pyoptsparse на моем компьютере. Поскольку моя программа работает с оптимизатором Scipy, я попробовал ее со случайным оптимизатором pyoptsparse (это был «ALPSO»). Это сработало, и я был счастлив. Но оказывается, что он работает только один.

Каждый раз, когда я пытаюсь использовать другой (например, «SLSQP», который является оптимизатором по умолчанию!), Я получаю это сообщение «pyOptSparse Error: произошла ошибка импорта скомпилированного модуля SLSQP», внутри рамки из '-' и '+'.

Кто-нибудь знает, что делать? Я использую Ubuntu, если он что-то меняет.

+0

Можете ли вы предоставить несколько подробностей, например, какую версию OpenMDAO вы используете, какой метод вы использовали для установки и какую версию Ubuntu вы используете, re использование? – kmarsteller

+0

@kmarsteller Я использую Ubuntu 14.04 с версией openmdao 1.6.4. Я использовал pip для установки openmdao, и я взял из bitbucket репозиторий pyoptsparse, а затем я запустил из репозитория: python setup.py install – gael17

+0

Хммм. Похоже, что ваши версии/метод установки верны. И OpenMDAO может увидеть pyoptsparse, или ALPSO не будет работать, я полагаю. Можете ли вы опубликовать код, который генерирует ошибки? – kmarsteller

ответ

1

Благодаря swryan за ссылку, я нашел ответ.

Одним из возможных ответов было установить libgfortran.so.3 в anaconda2/lib, но у меня уже было это.

Они также говорили, что проблема была решена при установке anaconda 4.0+, но у меня также была последняя версия.

То, что сработало для меня было бежать: Конда libgfortran обновления --force

Делать это без --force ретроградным в SciPy, который, кажется, чтобы отключить scipy.optimize.least_squares. Если вы это сделали, вы можете запустить conda update scipy --force

+0

рад, что вы нашли ответ .. спасибо за обмен – swryan

0

У вас возникли какие-либо ошибки при запуске «python setup.py install» для pyoptsparse? Я посмотрел на setup.py файл для pyoptsparse и есть некоторые инструкции там, что вы могли бы попробовать:

print("\nTo install, run: python setup.py install --user\n\n" 
      "To build, run: python setup.py build_ext --inplace\n\n" 
      "For help on C-compiler options run: python setup.py build --help-compiler\n\n" 
      "For help on Fortran-compiler options run: python setup.py build --help-fcompiler\n\n" 
      "To specify a Fortran compiler to use run: python setup.py install --user --fcompiler=<fcompiler name>\n\n" 
      "For further help run: python setup.py build --help" 
    ) 
+0

У меня не было никаких ошибок, но я получил несколько предупреждений, таких как «неиспользуемая переменная». – gael17

+0

Я только запускал строку установки, не создавая ее, может быть, проблема? – gael17

+0

Прошло много времени с тех пор, как я построил pyoptsparse, поэтому не помню, нужно ли мне использовать «-inplace» или нет. Какую версию python вы используете? –