1.将conda中的python版本降低到python3.7

conda install python==3.7

此时查看pyhton的版本和pip的版本均为3.7(conda真方便)
image.png

conda支持的包远没有pip多,因此很多时候还是需要使用pip命令安装包。使用pip命令时,要先检查pip的来源,确保是来自当前conda环境,只有这样包才会被安装到当前conda环境中(anaconda3/envs/rtamtEnv/lib/python3.7/site-packages)。环境外的pip是不认识conda环境的。

查看pip的来源

which a pip

或者

pip -V

切换pip来源

alias pip=~/anaconda3/envs/AntlrTest/bin/pip

image.png
来自当前conda

2.安装antlr

sudo apt install antlr4

image.png

安装对应版本的antlr4运行时

sudo pip install antlr4-python3-runtime==4.7

pip默认将包安装在

anaconda3/envs/rtamtEnv/lib/python3.7/site-packages

3.安装rtamt

pip install rtamt

至此rtamt环境搭建完成
image.png

测试:

cd rtamt
python -m unittest discover tests/

报错,antlr4运行时和生成的代码版本不匹配
image.png
将运行时改为和生成的代码一致的版本

pip install antlr4-python3-runtime==4.5

image.png

rtamt未解决的问题
只能处理DiscreteTime,对于DenseTime,找不到StlDensrTimeSpacifucation
image.png
原因:
rtamt下的__init__文件中将STLDiscreteTimeSpecification导入为别名STLSpecification。其他它类似,也是别名导致的

from rtamt.spec.stl.discrete_time.specification import STLDiscreteTimeSpecification as STLSpecification

image.png
处理:注释掉别名,用原名,问题解决(注意,此时官网上的例子还是运行不出来,因为官网的例子中使用的方法名有误,将例子中的StlDiscreteTimeSpecification改为STLDiscreteTimeSpecification即可)
image.png
官网例子运行结果:
image.png


dali
10 声望0 粉丝

« 上一篇
Anaconda
下一篇 »
Antlr环境

引用和评论

0 条评论