Ubuntu Unicorn Python3.7环境搭建

实习公司要实现能够运行分析一段安卓的代码。找到了这个:

https://github.com/AeonLucid/AndroidNativeEmu

需要用到Unicorn环境。负责我的同事建议我用Ubuntu虚拟机。

环境:Ubuntu 16.04.7

按照官方要求,需要更换成Python3.7:

ubuntu默认带着的python版本不是最新版,因此需要手动安装最新版。

以下的方法要自己手动编译配置系统,麻烦且存在风险!

请参考我最新的一片博文:https://blog.csdn.net/uiop_uiop_uiop/article/details/111040144

关注CSDN博客:uiop_uiop_uiop。百度直接搜索 uiop 即可!

查看python的指向

ls -l /usr/bin | grep python

可以看到,此时python指向的是python3.4。

第一部分:安装python3.7

1.直接使用apt-get安装python3.7失败:

apt-get install python3.7

2.改为手动安装

步骤1:在python官网找到python-3.7.1.tgz的地址:https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

步骤2:下载安装包

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

步骤3:解压安装包

tar -zxvf Python-3.7.1.tgz

步骤4:切换到解压后的目录下

cd Python-3.7.1

步骤5:./configure(也可以./configure --prefix=/usr/local/python3.7.1)

  1. ./configure

  2. # 或者

  3. ./configure --prefix=/usr/local/python3.7.1

步骤6:编译make(没有安装make的安装一下)

make -j$(nproc)

步骤7:测试make test

make test

关于make test命令出现ModuleNotFoundError: No module named ‘_ctypes’ 错误,请移步我的另外一篇博文https://blog.csdn.net/u014775723/article/details/85224447

步骤8:安装sudo make install

sudo make install

若步骤5执行的是 ./configure,则安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/include,其它的资源文件放在/usr /local/share。

若步骤5执行的是./configure --prefix=/usr/local/python3.7.1,则可执行文件放在/usr /local/python3.7.1/bin,库文件放在/usr/local/python3.7.1/lib,配置文件放在/usr/local/python3.7.1/include,其它的资源文件放在/usr /local/python3.7.1/share

步骤9:若步骤5执行./configure --prefix=/usr/local/python3.7.1,则需要添加环境变量。步骤5是./configure的跳过此步骤

添加环境变量

PATH=$PATH:$HOME/bin:/usr/local/python3.7.1/bin

查看环境变量

echo $PATH

步骤10:查看安装目录

可以看到此时python3.7安装到了/usr/local/lib/(若步骤5执行./configure --prefix=/usr/local/python3.7.1,python3.7安装到了/usr/local/python3.7.1/lib/)

步骤11:测试,输入python3.7

第二部分:更新python默认指向为python3.7

步骤1:查看python命令指向

ls -l /usr/bin | grep python

步骤2:若如步骤1的图,若要安装python3.4则,由于python3.4为系统自带的,直接使用以下命令并跳过步骤3:

删除原有链接

rm /usr/bin/python 

建立新链接

ln -s /usr/bin/python3.4 /usr/bin/python

骤3:由于python3.7是自己安装的,不在/usr/bin下,而在usr/local/bin或者/usr/local/python3.7.1/bin下(取决于前面执行的./configure还是./configure --prefix=/usr/local/python3.7.1。因此需要先加一条软链接并且把之前的python命令改为python.bak,同时pip也需要更改。依次执行以下命令

若python3.7安装时,执行的是./configure,则:

 
  1. mv /usr/bin/python /usr/bin/python.bak

  2. ln -s /usr/local/bin/python3 /usr/bin/python

  3. mv /usr/bin/pip /usr/bin/pip.bak

  4. ln -s /usr/local/bin/pip3 /usr/bin/pip

若python3.7安装时,执行的是./configure --prefix=/usr/local/python3.7.1,则为:

 
  1. mv /usr/bin/python /usr/bin/python.bak

  2. ln -s /usr/local/python3.7.1/bin/python3.7 /usr/bin/python

  3. mv /usr/bin/pip /usr/bin/pip.bak

  4. ln -s /usr/local/python3.7.1/bin/pip3 /usr/bin/pip


 步骤4:此时输入python验证

 Python3.7装完后,发现pip不能用:

 实际上是启动子进程找不到这个包。那么全盘搜索:

sudo find / -name 'lsb_release.py'

复制完成之后就可以了。

最后直接使用pip安装unicorn即可。

猜你喜欢

转载自blog.csdn.net/uiop_uiop_uiop/article/details/108732949