欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu16.04将python移植到Android Studio

程序员文章站 2022-07-03 21:57:49
...

Ubuntu16.04将python代码移植到Android Studio

1.安装Python3.6环境:

这里使用的是3.6.0版本Python,若是其他版本,请自行到官网下载:

wget http://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar -xvzf Python-3.6.0.tgz
cd Python-3.6.0
./configure --with-ssl
make
sudo make install

注意:

--with-ssl必须加上,否则会出现pip升级不了,TSL证书问题,等等一系列问题,死循环

如果安装之后出现以下提示则是缺少依赖包:

  zipimport.ZipImportError: can't decompress data; zlib not available
  Makefile:1079: recipe for target 'install' failed
  make: *** [install] Error 1

然后执行下面命令:

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

执行完毕后重新make install(不需要再执行./configure和make)

2.安装Python编译外部模块文件使用的Python-dev

sudo apt-get install python-dev

3.安装包管理PIP:

安装pip

sudo apt-get install python-pip

安装之后升级pip

sudo pip3 install --upgrade pip

如果在搞pip的过程中出现下面的问题:

Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
  from pip import main
  ImportError: cannot import name 'main'

则使用以下命令解决:

sudo python3 -m pip uninstall pip && sudo apt install python3-pip –reinstall

4.系统安装python-dev和gcc

由于上述步骤中已经安装了python-dev,而Ubuntu虚拟机自带5.4版本的gcc,所以可以跳过此步骤

sudo apt-get install python-dev

如果出现以下错误,则说明已将安装过python-dev:

Unable to locate package python-devel

5.用Python安装cython

方式一,在第三方库找到你想要下载的库名字(有坑):

pip install Cython-0.26-cp36-cp36m-manylinux1_x84_64.whl

注意:
Python版本,电脑系统,电脑位数(x86_64是64位,i686是32位),例如我的是
Python3.6.0、Ubuntu16.04、64位,下载的是上面的那个

但是出现了以下错误:

ERROR:Cython-0.26-cp36-cp36m-manylinux1_x86_64.whl is not a supported wheel on this platform
之后用方式二安装发现安装的是:Cython-0.29.21-cp36-cp36m-manylinux1_i686.whl

方式二:

pip install cython

上述命令会根据你的情况自行下载

这里需要配置一下Python环境的优先级(数字越大级别越高):

  sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
  sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 200

注: 第二个路径是python执行文件的位置,可能不在/usr/bin目录下,我的是在/usr/local/bin目录下

6.编译:

下载git:

sudo apt-get install git

下载编译脚本:

git clone https://github.com/ArvinMei/py2so

编译某个文件夹:

python py2so.py mydir_path
  生成的文件在mydir_path/build文件夹下

验证:

	在mydir_path/build/xxx 下使用ipython进入命令行引用包

后记

至此,Python 到Android的移植基本完成,只需要把编译好后的so文件放到Android中调用就可以实现Android中调用Python代码了,若有什么不足之处,还请指出,互相交流学习

参考:
https://blog.csdn.net/baoshuowl/article/details/80375343
https://github.com/ArvinMei/py2so