Python 未找到作为z3属性的BitVecVal

Python 未找到作为z3属性的BitVecVal,python,z3,smt,z3py,Python,Z3,Smt,Z3py,我正在尝试使用z3的pythonapi创建一个SMT实例,它是一个比较流行的SMT解决方案。首先,我想创建四位向量,其中包含两位和从零到三的值。我的Python初始化代码如下所示: import z3 NONE = z3.BitVecVal(0, 2) A = z3.BitVecVal(1, 2) B = z3.BitVecVal(2, 2) C = z3.BitVecVal(3, 2) 但是我在运行Python文件时遇到了这个错误: AttributeError:模块“z

我正在尝试使用
z3
的pythonapi创建一个SMT实例,它是一个比较流行的SMT解决方案。首先,我想创建四位向量,其中包含两位和从零到三的值。我的Python初始化代码如下所示:

import z3

NONE = z3.BitVecVal(0, 2)
A    = z3.BitVecVal(1, 2)
B    = z3.BitVecVal(2, 2)
C    = z3.BitVecVal(3, 2)
但是我在运行Python文件时遇到了这个错误:
AttributeError:模块“z3”没有属性“BitVecVal”
。我查找了
BitVecVal
,它是
z3
的有效实例,如图所示。有没有办法解决这个问题?

可能没有正确导入
z3
包。确保在执行Python代码时处于正确的环境中。

程序没有问题。我在开头添加了打印版本,在结尾添加了打印语句:

导入z3
打印z3.get_version_string()
NONE=z3.BitVecVal(0,2)
A=z3.BitVecVal(1,2)
B=z3.BitVecVal(2,2)
C=z3.BitVecVal(3,2)
打印无、A、B、C
我得到:

4.8.8
0 1 2 3

这表明您的安装在某种程度上被破坏了。您最好从头开始重新安装。

我在Pycharm IDE中也有同样的问题(当我仅从文件->设置->项目解释器->添加安装z3时)
但是在我安装了z3解算器之后,这个问题就解决了。

我检查了z3和z3解算器是否都必须安装(在Pycharm IDE中)才能解决AttributeError问题