安装Ivy

1. 环境

ubuntu 20.04

2. 安装 python2.7.17

下载Python2.7.17

参考链接(28条消息) Python2.7.16安装(Ubuntu16.04)_python2.7.16编译安装_小斌哥ge的博客-CSDN博客

(28条消息) Ubuntu16.04安装python2.7_小数苗小数苗的博客-CSDN博客

wget https://www.python.org/ftp/python/2.7.17/Python-2.7.17.tgz

执行 ./configure --prefix=/usr/local/python2.7.17

报错:

configure: error: in `/usr/Python-2.7.17': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details

解决办法:

sudo apt-get install gcc
sudo apt-get install g++

3. python2.7.17 设为默认 python

检查系统上可用的 python 版本

ls /usr/bin/python*

查看是否配置了Python替代方案

sudo update-alternatives --list python

设置替代版本

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

确认两个备选方案都可以使用:

sudo update-alternatives --list python

sudo update-alternatives --config python

 

4. 安装 pip2

sudo apt-get install curl # 需要安装curl

sudo add-apt-repository universe
sudo apt update

# Python 2的 pip 没有被包含在 Ubuntu 20.04源仓库中。使用get-pip.py脚本来为 Python 2 安装 pip。
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo python2 get-pip.py

pip --version

 安装了zlib依旧报错

执行:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

5. 安装 ipython3.2.0

pip install ipython==3.2.0

6. 安装 z3-solver 4.5.1

pip install z3-solver==4.5.1.0
sudo pip install z3==0.2.0

7. 安装 ply3.4

pip install ply==3.4

8. 安装 pygraphviz1.3

# 我能安装上的方法
sudo apt-get install libgraphviz-dev pkg-config
sudo apt-get install g++ cmake git pkg-config libssl-dev
sudo pip install graphviz==0.16
wget https://files.pythonhosted.org/packages/98/bb/a32e33f7665b921c926209305dde66fe41003a4ad934b10efb7c1211a419/pygraphviz-1.3.1.tar.gz
tar -zxf pygraphviz-1.3.1.tar.gz
cd pygraphviz-1.3.1
sudo python setup.py install

# pygraphviz-1.3.1.tar.gz的安装包在这里https://pypi.org/project/pygraphviz/1.3.1/#modal-close

下述情况试过了都不行。。。。

先安装依赖 sudo apt-get install libgraphviz-dev pkg-config

安装1.5版本:pip install pygraphviz --install-option="--include-path=/usr/include/graphviz" --install-option="--library-path=/usr/lib/graphviz/”

pip install pygraphviz==1.3.1 --install-option="--include-path=/usr/include/graphviz" --install-option="--library-path=/usr/local/lib/python2.7/dist-packages/graphviz/”

/usr/local/lib/python2.7/dist-packages

安装 pygraphviz1.3 之前需要安装 graphviz0.16

sudo pip install graphviz==0.16

# 其他相关依赖包
sudo pip install setuptools==44.1.1
sudo pip install tarjan==0.2.3.2

sudo pip install pygraphviz==1.3.1

# 确保 pydot 安装好,版本为1.4.2
sudo apt-get update
sudo apt-get install graphviz
pip install pydot==1.4.2

sudo apt-get install g++ cmake git pkg-config libssl-dev

9. 安装 tcl tk tix

# 下载安装tcl
wget https://sourceforge.net/projects/tcl/files/Tcl/8.5.0/tcl8.5.0-src.tar.gz/download
tar -zxf download
cd tcl8.5.0
cd unix
./configure --enable-shared  # enable-shared让后面的tk可以使用
sudo make
sudo make install

# 查看tcl是否安装成功
info tcl


# 下载安装tk
wget https://sourceforge.net/projects/tcl/files/Tcl/8.5.0/tk8.5.0-src.tar.gz/download
tar -zxf download
cd tk8.5.0/unix
./configure --enable-shared
sudo make  # 这一步会报错,错误和解决办法如下
sudo make install


# 最后配置环境变量
nano ~/.bashrc
# 在文件末尾添加以下两行告诉系统Tcl和Tk的位置
export TCL_LIBRARY=/usr/local/lib/tcl8.5
export TK_LIBRARY=/usr/local/lib/tk8.5
# 按下 Ctrl + X,输入 y 保存文件并退出
# 输入以下命令使修改的 .bashrc 文件生效
source ~/.bashrc

# 下载tix8.4.3,重新编译和安装 Tix
wget https://sourceforge.net/projects/tix/files/tix/8.4.3/Tix8.4.3-src.tar.gz/download
tar -zxf download
cd Tix8.4.3
./configure --with-tcl=/usr/local/lib --with-tk=/usr/local/lib
sudo make
sudo make install

# 最后记得配置 tix 的环境变量,和上述方法一样,这里就不再赘述

 这是最终 pip list 的所有包

装 tk 的过程中,make 报错

是因为 x11 没有安装完整,于是先输入:sudo apt-cache search x11-dev

再输入:sudo apt-get install libghc-x11-dev 即可

10. 下载安装 Ivy

git clone --recurse-submodules https://github.com/kenmcmil/ivy.git

子模块报错:

破案了 git clone 中的 check out 根本不是报错

查看官方文档:Git - Submodules

 官方文档中的 git clone 时也会输出 check out,所以 check out 并不是报错信息,也没有飘红。

根据 ivy 官方给的教程:Installing IVy (microsoft.github.io)

一共有两种安装方法:

10.1 第一种:在 ivy 包中编译(这种方法要很久,不推荐)

cd ivy
sudo python build_submodules.py # 可能会报错
sudo apt-get install libreadline-dev # 报错解决方法

sudo python setup.py install

 

 10.2 第二种:直接 pip

sudo pip uninstall ms-ivy
# 这里卸载是因为之前装过了
sudo pip install ivy

11. 运行示例

cd doc/examples

ivy client_server_example.ivy

执行 ivy client_server_example.ivy 报错,原因:要进入 root 模式执行:

sudo passwd root 
# 输入一个新的密码: root
# 请在确认一遍密码: root

su root

sudo ivy_check diagnose=true client_server_example.ivy

 

 client_server_example.ivy 是官方文档中的示例,运行不会弹出图形界面,因为不变式已经全部check,且找不出反例,下面是我新加入的mutual例子,该例子是我同门编写的,不变式没有找全的版本,故能够找到反例,并弹出图形化界面。

 运行 ivy_check diagnose=true mutual.ivy,发生如下报错:

 解决办法:参考(28条消息) 使用Popen时报错:OSError: [Errno 2] No such file or directory_chansonzhang的博客-CSDN博客

cd /usr/local/lib/python2.7/dist-packages/ivy
sudo vim ivy_graphviz.py
# 按 i 键进行 insert
# 将132行中 process = Popen(['dot','-Tdot',tmp_name], stdout=PIPE) 
# 改为 process = Popen(['dot','-Tdot',tmp_name], shell=True, stdout=PIPE)
# 之后按Esc,输入 :wq!

emmm,还是有其他的一些报错,最终又是卸了 ivy,再重装,发现需要  sudo apt-get install graphviz,栓q,终于不报错了,但卡在如下不动了:

(diagnose=true是用来显示图形界面的,也就是图形界面无法弹出。。。)

amazing,最终跑不出来的原因找到了,要装 pydot,然后卸载 ivy,再重装 ivy

sudo pip uninstall ms-ivy
sudo pip install ivy

然后就装好了!!!图形界面弹出来了,鬼知道我装这个装了多久,呜呜呜,万分感谢我同门之前替我踩过的一些版本的坑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值