首页 > 编程语言 >交叉编译python第三方库

交叉编译python第三方库

时间:2024-06-17 14:42:56浏览次数:12  
标签:python cross 编译 host WARNING crossenv 第三方

这里我们以 编译android python程序为例

工具

crossenv

名词

对于交叉编译的各个部分,没有标准的词汇表,不同的资源经常会使用相互矛盾的术语。为了避免混淆,我们只使用 GNU 术语,这是 Python 本身使用的。

host 就是你编译出来的包要运行的平台,比如这里是Android
build 进行编译的平台,就是你自己的的电脑
host-python 在host上运行的python, 这里是android python
build-python 你自己的本机的python
cross-python 使用crossenv 创建的python用于进行第三方库交叉编译的

构建 build-python

构建或获取 host-python

创建cross-python

  • 安装crossenv
 pip install crossenv
  • 创建虚拟环境
    build-python 和 host-python的版本一定要完全相同
python -m crossenv  /path/to/host-python/bin/python3  cross_venv
C:\Users\Administrator>python -m crossenv  D:\Users\Downloads\python\python3.tar\python3\bin\python3  cross_venv
WARNING: CC is a compound command (['aarch64-linux-android28-clang', '-pie', '-fPIE'])
WARNING: This can cause issues for modules that don't expect it.
WARNING: Consider setting CC='aarch64-linux-android28-clang' and CFLAGS='-pie -fPIE'
WARNING: CXX is a compound command (['aarch64-linux-android28-clang++', '-pie', '-fPIE'])
WARNING: This can cause issues for modules that don't expect it.
WARNING: Consider setting CXX='aarch64-linux-android28-clang++' and CXXFLAGS='-pie -fPIE'

根据提示设置好环境变量(在这里将aarch64-linux-android28-clang的所在路径加入 PATH环境变量即可)

交叉编译python第三方库

  • 激活虚拟环境
. ./cross_venv/bin/activate
  • 使用build-pip 安装该库
    这个步骤不是真正的交叉编译,而是为了安装交叉编译所需的python依赖
(cross) build-pip install cffi
  • 使用pip交叉编译安装该库
(cross) pip install bcrypt

最后库会被安装在cross文件夹里的site-packages文件夹中

标签:python,cross,编译,host,WARNING,crossenv,第三方
From: https://www.cnblogs.com/czlnb/p/18251882

相关文章

  • Python中的迭代器与生成器
    目录一、引言二、迭代器(Iterator)迭代器的概念迭代器的使用三、生成器(Generator)生成器的概念生成器的使用四、迭代器与生成器的性能与内存优化性能优化内存优化五、案例分析六、进阶用法推导式(Comprehensions)生成器表达式(GeneratorExpressions)七、总结一、引......
  • 精选了10个Python实战项目(附源码),拿走即用!
    ① 猜字游戏在这个游戏中,你必须一个字母一个字母的猜出秘密单词。如果你猜错了一个字母,你将丢掉一条命。正如游戏名那样,你需要仔细选择字母,因为你的生命数量非常有限。importrandom#生命次数lives=3#神秘单词,随机选择words=['pizza','fairy','teeth','......
  • 小白的Python+Anaconda+vscode安装教程(win11系统手把手教学)
    python下载安装python下载安装过程下载地址:https://www.python.org/![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/33bd022a0d104a22b9e8caf7abb4e294.png我这里选择了3.7.9版本选中刚才下载的.exe文件,右键-打卡上一个页面点击customizinstallation后......
  • Python遥感影像叠加分析:基于一景数据提取另一数据
      本文介绍基于Python中GDAL模块,实现基于一景栅格影像,对另一景栅格影像的像元数值加以叠加提取的方法。  本文期望实现的需求为:现有一景表示6种不同植被类型的.tif格式栅格数据,以及另一景与前述栅格数据同区域的、表示植被参数的.tif格式栅格数据;我们希望基于前者中的植被类......
  • 盘点一个Python自动化办公的问题
    大家好,我是Python进阶者。一、前言前几天在Python铂金交流群【逆光】问了一个Python自动化办公的问题,问题如下:问题我现在有两个表a、b,for循环a、b,如果a的条件满足b,则把b的值赋给a,目前a有7万条数据,b有300条。我写的代码20分钟都没跑完。这是代码,请问改怎么解决?二、实现过......
  • python3.10.10安装
    链接:https://www.python.org/选择一个盘建个python文件夹(任意盘,以E盘 python310为例,文件名任意字母数字下划线);安装包可分享路径不要太深E:\python310卸载uninstall 卸载之后可以把之前存储位置的文件夹(E:\python310)删除......
  • SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 5000字详解
    Memcached下载和安装是一个国内使用量还是比较大的技术打开文件夹我们需要在命令行窗口启动注意要以管理员方式运行先尝试进入指定文件然后又再次运行下载memcached.exe-dinstall启动memcached.exe-dstart停止memcached.exe-dstopmemcached.exe-din......
  • Python项目实战:制作一个翻译软件
    大家好,我是你们的老朋友南枫,今天咱们来学一个好玩、有趣、又实用的项目——制作一个翻译软件。我们参考的是有道翻译,首先还是老规矩,咱们先导入所需要使用到的模块:导入进来之后,我们需要把该要的参数,全都给copy下来(有请求头、cookie、防盗链等):既然我们是要做一个翻译的软......
  • Python中的属性
        Python中的属性主要分为类属性,对象属性。1.类属性    类属性:类所有,所有的实例对象都能够共享,能通过类名和实力对象名访问,当当前的类属性被实例对象通过对象名.属性名的形式调用之后,当前对象就会多出一个实例属性,此后使用对象名.属性名的形式调用的就是对象属......
  • python-不定方程求解
    [题目描述]给定正整数 a,b,c。求不定方程ax+by=c 关于未知数 x 和y 的所有非负整数解组数。输入:一行,包含三个正整数 a,b,c,两个整数之间用单个空格隔开。每个数均不大于 1000。输出:一个整数,即不定方程的非负整数解组数。样例输入12318样例输出14来源/分类(难度系数:......