Ubuntu16.04将python移植到Android Studio

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
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想迷路的小男孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值