还是那句话:在Windows上安装Z3 +的Python(Again: Installing Z3

2019-07-19 20:16发布

在指出了安装问题前面的问题仍然存在。 我曾试图安装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初始化自动提供这样的方法吗?

很抱歉,如果这应该听起来像一个新手的问​​题,但...

Answer 1:

Windows XP不支持在DLL中线程本地存储空间,Z3需要。 我们目前正在为一个修正,但在任何情况下,这将意味着你将不得不编译,即使它是固定自己的DLL。

在Windows 7中,它应该工作的开箱。 但是,你需要确保,要么什么都不要编译为64位。 如果您使用的是32位的Python版本,它将无法加载64位的DLL,反之亦然。 在Python.org有两个下载,其中的一个标记X86-64,这是64位版本。

最后,需要添加到PYTHONPATH其中libz3.dll和* .pyc文件/ PY所在的目录。 您可以设置此系统范围内(控制面板,系统,高级系统设置,高级,环境变量),然后IDLE应该看到这一点。



Answer 2:

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

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

修改后的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”,其指示与作为普通的字符处理反斜杠一个原始字符串)



文章来源: Again: Installing Z3 + Python on Windows