0

我想在我的 Windows 计算机上安装带有 PyFMI 的 Python 3,我已经有带有 Python 2 的 JModelica 2.10。因此,我的想法是根据需要在 Python 2 中将 Modelica 模型编译为 FMU,然后在 Python 3 中开发脚本来运行 FMU 和可视化结果。我怎样才能最好地避免两个 Python 环境之间的任何冲突?

4

1 回答 1

0

JModelica 2.10 和 Python 2 已经使用 JModelica 到 Windows 的二进制标准安装文件安装。这似乎提供了一个受限的 Python 环境。这里没有使用 conda,但包含了 pip。

我已经使用 Miniconda 使用 Python 3 和 PyFMI 进行了测试安装,这似乎确实有效,我想就这里是否有潜在问题需要检查或可以更好地完成发表评论。我没有采取任何步骤从 JModelica 安装中删除与 PyFMI 相关的 Python 2 库。估计可以等。

我在 Windows 10 中完成了以下操作:

  1. JModelica 2.10 的标准 Windows 安装程序已在不久前完成。
  2. 通过以下方式使用 conda 在“顶部”安装 Python 3 环境:

    一个。从此处下载适用于 Python3 的 Miniconda https://docs.conda.io/en/latest/miniconda.html

    湾。安装 Miniconda3 并获得 Python 3.x 和一些软件包 - 但在安装的早期阶段要小心,并选择不在任何“路径”中进行安装。有两个框,我选择不标记这两个框。

    C。最好先通过以下命令更新 conda:

    $conda update conda
    

    d。然后我使用 Python 3 创建一个特殊的环境“pyfmi”,以便通过命令进一步安装 PyFMI

    $conda create -n pyfmi python=3
    

    e. 然后通过命令激活该环境

    $conda activate pyfmi
    
  3. 现在在刚刚创建的这个活动 conda 环境“pyfmi”和其他一些有用的库中安装 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 的“按钮”(Anaconda 也有另一个按钮)。使用第一个启动命令窗口,然后从这里开始

    $conda activate pyfmi
    $ipython --pylab
    
  6. 现在您可以加载之前编译的 FMU 并像往常一样运行它,但现在在 Python 3 环境中,命令是:

    $from pyfmi import load_fmu
    $model=load_fmu(FMU_model)
    
  7. 如果您想修改模型并重新编译以获得新的 FMU,您只需像往常一样从 Windows 开始菜单中为 JModelica/pylab 打开一个新的命令窗口。这意味着您在一个命令窗口中使用完整的 JModelica 2.10 在 Python 2 中工作,而在另一个命令窗口中使用 Python 3 和 PyFMI。如果您愿意,您可以从两者对同一个文件夹进行操作,但也可以更好地使用单独的文件夹。

如上所述,此安装提供了在 Python2 中使用 JModelica 命令窗口或在 Python3 中使用 pyfmi 命令窗口运行相同 FMU 的可能性。

我已经用几个脚本对其进行了测试,并使用了 model.simulate() 和 model.estimate(),到目前为止没有发现任何问题。

相关文章是Ubuntu 18.04 中 Python 3 环境中的 PyFMI

于 2020-01-30T11:50:21.050 回答