【问题标题】:Again: Installing Z3 + Python on Windows再次:在 Windows 上安装 Z3 + Python
【发布时间】:2013-02-13 13:43:15
【问题描述】:

earlier question 中指出的安装问题仍然存在。 我尝试在 Windows XP SP3 32 位和 Windows 7 64 位下安装 Z3 4.3.0 和 4.1。任何组合都不起作用!我可以执行“from z3 import *”,但 Z3 dll 的init() 失败。我的 Python 版本是 2.7.3。 Z3 单机版和 Python 单机版确实可以工作,但它们不能一起工作而没有很多抱怨。

这将有助于获得一个回答以下问题的最新安装配方:

应该使用哪个Z3下载(源码版、预编译版)?

应该使用哪个 Python 版本?

在 init() 调用中应该引用哪些或各种 Z3 DLL? 一个例子会有所帮助(包括使用空白路径的原始字符串)。

应该使用哪些 Z3 Python 源文件(有些下载的 Z3 有 *.py 文件,其他有 *.pyc 文件)?编译后的 Python 文件是否兼容多个 Python 版本?

如何设置PATH和PYTHONPATH?

如何调用Python的IDLE shell,自动提供Z3初始化?

对不起,如果这听起来像是一个新手问题,但是...

【问题讨论】:

    标签: python python-2.7 z3


    【解决方案1】:

    克里斯托夫的回答是正确的。谢谢!

    这里有一些可以帮助其他人的更多细节。 (确保相应地调整路径)

    Python 2.7.3 (64-bit)修改后的idle.bat脚本:

    @echo off
    rem Start IDLE using the appropriate Python interpreter
    setlocal
    set PATH=%PATH%;X:\my\Programme\z3-4.3.0-x64\bin
    set PYTHONPATH=X:\my\Programme\z3-4.3.0-x64\bin
    set CURRDIR=%~dp0
    start "IDLE" "%CURRDIR%..\..\pythonw.exe" "%CURRDIR%idle.pyw" %1 %2 %3 %4 %5 %6 %7 %8 %9
    endlocal
    

    z3 路径必须在PATH PYTHONPATH

    Python/Idle shell 中的前两条语句:

    from z3 import *
    init(r"X:\my\Programme\z3-4.3.0-x64\bin\libz3.dll")
    

    (注意 'r' 表示带有反斜杠的原始字符串被视为普通字符)

    【讨论】:

      【解决方案2】:

      Windows XP 不支持 Z3 需要的 DLL 中的线程本地存储。我们目前正在对此进行修复,但无论如何,这意味着您必须编译自己的 DLL,即使它已修复。

      在 Windows 7 上,它应该可以开箱即用。但是,您需要确保为 64 位编译所有内容或没有任何内容。如果您使用的是 32 位 python 版本,它将无法加载 64 位 DLL,反之亦然。在Python.org 有两个下载,其中一个标记为 X86-64,即 64 位版本。

      最后需要将libz3.dll和*.pyc/py所在的目录添加到PYTHONPATH中。你可以设置这个系统范围(控制面板、系统、高级系统设置、高级、环境变量),然后 IDLE 也应该看到它。

      【讨论】:

        猜你喜欢
        • 2012-11-02
        • 1970-01-01
        • 1970-01-01
        • 2016-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-17
        相关资源
        最近更新 更多