在指出了安装问题前面的问题仍然存在。 我曾试图安装Z3 4.3.0和4.1在Windows XP SP3 32位和Windows 7 64位下。 该组合没有工作! 我能做到“ from z3 import *
”,但init()
的Z3的dll失败。 我的Python版本是2.7.3。 Z3单机和Python单机做的工作,但他们并没有很多抱怨的共同努力。
这将有助于获得一个上最新安装的配方,回答下列问题:
其中Z3下载(来源版,预编译的版本),应使用?
其中Python版本应该使用?
这或各种Z3的DLL应该在init引用()电话吗? 一个例子就是帮助(包括原始字符串使用的路径用空格)。
其中Z3 Python源文件应使用(Z3的一些下载有* .py文件,别人有* pyc文件)? 是编译Python文件与一个以上的Python版本兼容?
如何设置PATH和PYTHONPATH?
如何调用Python的IDLE壳在Z3初始化自动提供这样的方法吗?
很抱歉,如果这应该听起来像一个新手的问题,但...
Windows XP不支持在DLL中线程本地存储空间,Z3需要。 我们目前正在为一个修正,但在任何情况下,这将意味着你将不得不编译,即使它是固定自己的DLL。
在Windows 7中,它应该工作的开箱。 但是,你需要确保,要么什么都不要编译为64位。 如果您使用的是32位的Python版本,它将无法加载64位的DLL,反之亦然。 在Python.org有两个下载,其中的一个标记X86-64,这是64位版本。
最后,需要添加到PYTHONPATH其中libz3.dll和* .pyc文件/ PY所在的目录。 您可以设置此系统范围内(控制面板,系统,高级系统设置,高级,环境变量),然后IDLE应该看到这一点。
克里斯托夫的答案是正确的。 谢谢!
这里有一些更多的细节,可以帮助别人。 (确保相应地调整路径)
修改后的idle.bat
的脚本Python 2.7.3 (64-bit)
:
@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
壳:
from z3 import *
init(r"X:\my\Programme\z3-4.3.0-x64\bin\libz3.dll")
(注意“R”,其指示与作为普通的字符处理反斜杠一个原始字符串)