当前位置: 首页 > news >正文

【python】如何将python程序封装为cpython的库

python程序在发布时,往往会打包为cpython的库,并且根据应用服务器的不同架构(x86/aarch64),以及python的不同版本,封装的输出类型也是非常多。本文介绍不同架构指定python下的代码打包方式:

首先,了解应用服务器的结构,linux在终端输入

uname -m

在这里插入图片描述
确定是x86还是aarch64

以编译目标为aarch64+python3.8为例

from Cython.Build import cythonize
from Cython.Distutils import build_ext
from distutils.core import setupclass BuildExtWithNewSuffix(build_ext):def get_ext_filename(self, ext_name):filename = super().get_ext_filename(ext_name)return filename.replace(self.oldSuffix, self.newSuffix)def main(compileType, deviceType):if compileType == 'aarch64':BuildExtWithNewSuffix.newSuffix = 'cpython-38-aarch64-linux-gnu'# os.environ['CC'] = '/opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc'# os.environ['LDSHARED'] = '/opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -shared'print("aarch64 compile ")setup(ext_modules=cythonize(module_list, nthreads=20,compiler_directives={'language_level': "3"}, build_dir=build_code),script_args=["build_ext", "-j10", "-b", build_target, "-t", build_tmp_dir],include_dirs=['/opt/cross_compile/rk/include/python3.8'],cmdclass={'build_ext': BuildExtWithNewSuffix})if __name__ == "__main__":compileType = 'aarch64'if (len(sys.argv) > 1):compileType = sys.argv[1]deviceType = 'atlas'if (len(sys.argv) > 2):deviceType = sys.argv[2]sys.exit(main(compileType, deviceType))

相关文章:

  • 支付场景下,乐观锁的实现(简洁版)
  • 利用车联网中的 V2V 通信技术传播公平的紧急信息
  • 液体神经网络LNN-Attention创新结合——基于液体神经网络的时间序列预测(PyTorch框架)
  • GAEA情感坐标背后的技术原理
  • 皖维 大病救助办理手续说明
  • Linux多线程技术
  • 【Echarts】使用echarts绘制多个不同类型的中国地图
  • Java 安全:如何实现用户认证与授权?
  • 微信小程序文章管理系统开发实现
  • C++智能指针概念理解的面试题
  • 4/25 研0学习日志
  • 【产品经理】常见的交互说明撰写方法
  • 工业电子测量中的安全隐患与解决方案——差分探头的技术优势解析
  • 小白电路设计-设计11-恒功率充电电路设计
  • 人工智能与机器学习:Python从零实现逻辑回归模型
  • 遥测终端机,推动灌区流量监测向数据驱动跃迁
  • P19:Inception v1算法实战与解析
  • 第1讲|R语言绘图体系总览(Base、ggplot2、ComplexHeatmap等)
  • 2025年GPLT团体程序设计天梯赛L1-L2
  • 电力系统最小惯性常数解析
  • 释新闻|印度宣布“掐断”巴基斯坦水源,对两国意味着什么?
  • 男子称喝中药治肺结节三个月后反变大增多,自贡卫健委回应
  • 中共中央政治局召开会议,分析研究当前经济形势和经济工作,中共中央总书记习近平主持会议
  • 国家市场监管总局:组织销毁侵权假冒服装、食药等3300吨
  • 王宝强谈《棋士》:饰演这个灰度人物有一种被割裂的痛苦
  • 马上评︱大厂取消“大小周”,会让加班隐形化吗