Как объединить Python 3 со стандартной JModelica в зависимости от Python 2? - PullRequest
0 голосов
/ 30 января 2020

Я хотел бы установить Python 3 с PyFMI на моем Windows компьютере, где у меня уже есть JModelica 2.10 с Python 2. Таким образом, моя идея состоит в том, чтобы компилировать модели Modelica в FMU в Python 2, но затем разработайте сценарии в Python 3 для запуска FMU и визуализации результатов. Как мне лучше всего это сделать, чтобы избежать конфликта между двумя Python средами?

1 Ответ

0 голосов
/ 30 января 2020

JModelica 2.10 и Python 2 уже установлены с использованием стандартного двоичного установочного файла для JModelica до Windows. Кажется, это дает ограниченную среду Python. Здесь conda не используется, но pip включен.

Я сделал тестовую установку с Python 3 и PyFMI с использованием Miniconda, которая, кажется, действительно работает, и я хотел бы прокомментировать, если есть потенциальные проблемы проверить или может быть лучше сделано. Я не предпринял никаких шагов по удалению библиотек из Python 2, связанных с PyFMI, из установки JModelica. Я думаю, это может подождать.

Я сделал следующее в Windows 10:

  1. Стандартный Windows -установщик для JModelica 2.10 сделал некоторое время go.
  2. Установите окружение Python 3 «сверху», используя conda, следующим образом:

    a. Загрузите Miniconda для Python3 здесь https://docs.conda.io/en/latest/miniconda.html

    b. Установите Miniconda3, и с этим вы получите Python 3.x и некоторые пакеты, но будьте осторожны на ранней стадии установки и сделайте выбор, чтобы установка не проходила по «пути». Есть два поля, и я решил оставить оба поля без отметки.

    c. Может быть хорошо сначала обновить conda командой:

    $conda update conda
    

    d. Затем я создаю специальную среду "pyfmi" с Python 3 для дальнейшей установки PyFMI по команде

    $conda create -n pyfmi python=3
    

    e. Затем активируйте эту среду с помощью команды

    $conda activate pyfmi
    
  3. Теперь установите PyFMI в только что созданной активной среде conda "pyfmi" и некоторых других полезных библиотеках:

    $conda config --add channels conda-forge
    $conda install pyfmi
    $conda install matplotlib
    $conda install ipython
    $conda install jupyter
    
  4. Теперь вы можете деактивировать среду "pyfmi" и закрыть командное окно

  5. В меню запуска Windows вы теперь найдете "кнопку" для Anaconda PowerShell ( и для Анаконды есть еще одна кнопка). Используйте первый, чтобы запустить командное окно, и отсюда вы можете сделать

    $conda activate pyfmi
    $ipython --pylab
    
  6. Теперь вы можете загрузить предыдущий скомпилированный FMU и запустить его как обычно, но теперь в Python 3 окружения и команды:

    $from pyfmi import load_fmu
    $model=load_fmu(FMU_model)
    
  7. Если вы хотите изменить модель и пересобрать, чтобы получить новый FMU, вы просто открываете новое окно команд для JModelica / pylab из меню «Пуск» Windows как обычно. Это означает, что вы в одном командном окне работаете в Python 2 с полной JModelica 2.10, а в другом командном окне - с Python 3 только с PyFMI. И вы можете работать с одной и той же папкой из обеих, если хотите, но также может быть лучше иметь отдельные папки.

Как сказано выше, эта установка дает возможность запустить один и тот же FMU как в Python2 с командным окном JModelica, так и в Python3 с командным окном pyfmi.

Я протестировал его с помощью нескольких сценариев и использовал model.simulate (), а также model.estimate ( ) и пока не обнаружил проблем.

Связанный пост PyFMI в среде Python 3 в Ubuntu 18.04

...