Skip to main content
 首页 » 编程设计

python之又是 : Installing Z3 + Python on Windows

2025年05月04日17cloudgamer

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?

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

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

请您参考如下方法:

Christoph 的回答是正确的。谢谢!

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

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' 表示原始字符串,反斜杠被视为普通字符)