【问题标题】:Installing Z3 + Python on Windows在 Windows 上安装 Z3 + Python
【发布时间】:2012-11-02 08:02:04
【问题描述】:

我很难让 Z3 Python 前端在带有来自 codeplex 的 Z3 版本 4.3.0 的 Windows 7 上工作。作为 MSI 文件分发的旧版本 4.1.2 在我的 Windows 7 上运行良好。

首先,我无法使用来自 codeplex 的源代码来构建 Z3,因为我没有 Visual Studio 命令提示符(我真的需要它吗?)。所以我下载了 32 位版本的二进制文件并将该目录添加到我的 PYTHONPATH 中。这允许我做 import z3 ,但由于错误 Z3Exception: 'init(Z3_LIBRARY_PATH) must be invoked before using Z3-python' ,我不能再使用它了。文件z3.dll 不包含在下载文件中。

在我的 Mac 或 Linux 上设置 Z3 v4.3 没有问题。

【问题讨论】:

    标签: z3


    【解决方案1】:

    Visual Studio Express 应该足以编译 Z3,并且可以从 Microsoft 免费获得,here。但是,使用 Z3Py 不需要从头开始编译 Z3。

    从版本 4.3.0 开始,DLL 现在称为 libz3.dll,我刚刚验证它确实包含在 Codeplex 的下载中,并且当我将它添加到 PYTHONPATH 时它执行良好。我可以想象你的情况出了什么问题是你将目录 C:...\z3-4.3.0-x86 添加到 PYTHONPATH 中,而 C:...\z3-4.3.0-x86 是必要的\bin 被添加(注意最后的 \bin)。

    【讨论】:

    • 嗨,克里斯,实际上我确实添加了 \bin 目录(这就是我能够很好地导入 z3 的原因)。我也试过 z3.init("libz3.dll") 但我相信有一些错误。我现在无法访问我的 Win 机器,但我可以明天发布错误。当你做 z3.init("libz3.dll") 时它对你有用吗?
    • 太棒了!感谢您的信息。还有一件事我忘了提:这取决于安装的 Python 版本;我相信x64版本也需要使用x64 DLL。
    • 克里斯托夫是正确的。如果我们有 Python x64,那么我们必须使用 x64 Z3 DLL。请注意,如果我们有一台 64 位机器,但我们使用的是 32 位 Python(非常常见的场景),那么我们必须使用 32 位 Z3 DLL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2014-07-30
    • 2019-04-10
    相关资源
    最近更新 更多