环境

Python:2.7.13

开发板: TQ2440

工具链: arm-none-linux-gnueabi-gcc 4.8.3

概述

前面已经把Python3移植到TQ2440上面的,现在我们移植Python2,基本跟Python3移植步骤类似。

正文

一、工具链

参考 http://www.cnblogs.com/pengdonglin137/p/6740164.html#_lab2_2_0

二、配置

下面是配置脚本mk1_conf.sh:

 #!/bin/bash

 /home/pengdonglin/disk_ext/Python/Python2/Python-2.7./configure --prefix=`pwd` \
--host=arm-linux \
--build=x86_64-linux-gnu \
--enable-ipv6 \
--enable-shared \
ac_cv_file__dev_ptmx="yes" \
ac_cv_file__dev_ptc="no" \
LDFLAGS="-L/home/pengdonglin/disk_ext/TQ2440/rootfs/SQlite3/lib \
-L/home/pengdonglin/disk_ext/TQ2440/rootfs/Readline/lib \
-L/home/pengdonglin/disk_ext/TQ2440/rootfs/Termcap/lib \
-L/home/pengdonglin/disk_ext/TQ2440/rootfs/Zlib/lib"\
CPPFLAGS="-I/home/pengdonglin/disk_ext/TQ2440/rootfs/SQlite3/include \
-I/home/pengdonglin/disk_ext/TQ2440/rootfs/Readline/include \
-I/home/pengdonglin/disk_ext/TQ2440/rootfs/Termcap/include \
-I/home/pengdonglin/disk_ext/TQ2440/rootfs/Zlib/include"\
LDLAST="-L/home/pengdonglin/disk_ext/TQ2440/rootfs/SQlite3/lib \
-L/home/pengdonglin/disk_ext/TQ2440/rootfs/Readline/lib \
-L/home/pengdonglin/disk_ext/TQ2440/rootfs/Termcap/lib \
-L/home/pengdonglin/disk_ext/TQ2440/rootfs/Zlib/lib"

配置完成之后,修改Modules/Setup,打开readline,将下面这行取消注释:

readline readline.c -lreadline -ltermcap
修改Makefile,将:
SVNVERSION=>---svnversion $(srcdir)
修改为:
SVNVERSION=

三、编译

下面是编译脚本mk2_mk.sh
 #!/bin/bash

 make HOSTPYTHON=/home/pengdonglin/disk_ext/Python/Python2/x86_64/python \
HOSTPGEN=/home/pengdonglin/disk_ext/Python/Python2/x86_64/Parser/pgen \
BLDSHARED="arm-linux-gcc -shared" \
CROSS_COMPILE=arm-linux- \
CROSS_COMPILE_TARGET=yes \
HOSTARCH=arm-linux \
BUILDARCH=x86_64-linux-gnu \
-j4

四、安装

下面是安装脚本mk3_install.sh
 #!/bin/bash

 make install HOSTPYTHON=/home/pengdonglin/disk_ext/Python/Python2/x86_64/python \
BLDSHARED="arm-linux-gcc -shared" \
CROSS_COMPILE=arm-linux- \
CROSS_COMPILE_TARGET=yes \
prefix=`pwd` 

五、测试

[root@tq2440 ~]# python2 /usr/lib/python2./test/test___all__.py
test_all (__main__.AllTest) ... BaseHTTPServer
Bastion
CGIHTTPServer
ConfigParser
Cookie
DocXMLRPCServer
HTMLParser
MimeWriter
... ...
ok
----------------------------------------------------------------------
Ran test in .408s
OK
完。

移植Python2到TQ2440的更多相关文章

  1. 移植Python3到TQ2440(一)

    平台 硬件:TQ2440  64MB内存 256MB NandFlash bootloader:U-Boot 2015.04 kernel:linux-4.9 Python: Python-3.6.0 ...

  2. 移植Python3到TQ2440(二)

    接着前一篇博文. 在上一篇博文中我们用NFS挂载根文件系统的方式启动了系统,接下来我们把移植了Python3的根文件系统固化到NandFlash中,但是由于linux-4.9目前不支持Yaffs2文件 ...

  3. python技巧31[移植python2.x到3.x]

    我们都知道python从2.x升级到3.x的过程中有一些不兼容的改动,但是有时还我们不得不将2.x的程序升级到3.x. 主要不兼容如下图: 移植过程: 1) 确保存在的代码有足够的测试覆盖.从2.x到 ...

  4. 让TQ2440也用上设备树(2)

    作者 作者:彭東林 郵箱:pengdonglin137@163.com QQ:405728433 软件版本 Linux-4.10.17 概述 在之前的博客里介绍了TQ2440上移植设备树的方法,其实, ...

  5. 基于设备树的TQ2440的中断(1)

    作者 姓名:彭东林 E-mail:pengdonglin137@163.com QQ:405728433 平台 板子:TQ2440 内核:Linux-4.9 u-boot: 2015.04 工具链: ...

  6. OpenCV在ARM-linux上的移植过程遇到的问题3---共享库中嵌套库居然带路径【未解决】

    [Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题3-共享库中嵌套库居然带路径[未解决] 标签(空格分隔): [Linux开发] 移植opencv到tq2440 一.下载open ...

  7. python总结--目录(转)

    python模块   [Python]随机数与随机字符串  举例说明Python的CSV模块   python模块之smtplib: 用python发送SSL/TLS安全邮件   python模块之e ...

  8. linux驱动之一语点破天机

    <const 关键字> 在嵌入式系开发中,const关键字就是“只读”的意思   <为什么要ARM需要进行C语言环境的初始化> 在汇编情况下,指令的跳转,保护现场需要保存的数据 ...

  9. u-boot-2015.04 在tq2440上的移植(使用spl引导u-boot)

    本次移植跟以往的不同之处是采用了spl来引导u-boot,参考了博客http://blog.csdn.net/fulinus/article/details/42738641 下载链接:http:// ...

随机推荐

  1. [golang note] 环境搭建

    LiteIDE(windows) • golang安装 ▶ 下载对应操作系统的版本并安装,下载地址:http://www.golangtc.com/download,譬如这里下载的是go1.6.win ...

  2. css-通过hover实现鼠标进过背景色变化

     通过hover实现鼠标进过背景色变化 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  3. easyui表格,单元格合并

    easyui的合并单元格比较麻烦,官网提供一下方法 $('#tt').datagrid({ onLoadSuccess:function(){ var merges = [{ index:2, row ...

  4. Laravel中服务提供者和门面模式

    在laravel中,我们可能需要用到自己添加的类时,可以建立一个文件夹专门存放类文件,也可以使用laravel的服务提供者的方式来使用. 这两者其实区别不大,主要是前者使用的话,会跟业务代码产生依赖, ...

  5. mybatis中的一点优化问题(数据库连接分开,别名,日志打印)

    一:数据的链接 1.目录 2.新建一个db.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3308/mybati ...

  6. hibernate Validator 6.X 的学习,bean的约束(字段,get方法上的验证)

    一:背景说明 验证数据是一个常见的任务,它贯穿于所有应用层,从呈现到持久层.通常在每个层中都执行相同的验证逻辑,耗时且容易出错.为了避免这些验证的重复,开发商往往把验证逻辑直接进入的领域模型,在领域类 ...

  7. Exception in thread "main" java.net.SocketTimeoutException: connect timed ou错误处理

    今天做了一个Jsoup解析网站的项目,使用Jsoup.connect(url).get()连接某网站时偶尔会出现java.net.SocketTimeoutException:Read timed o ...

  8. 如何快速切换Python运行版本,如何选择Python版本

    想必在学习Python时会面临选择Python2.X或者是Python3.X的问题. 我在电脑上不同位置下载安装了不同版本 的Python,当我在学习时,不管是需要哪一个版本才能运行都无所谓,相应的快 ...

  9. 搞不清FastCgi与php-fpm之间是个什么样的关系

    我在网上查fastcgi与php-fpm的关系,查了快一周了,基本看了个遍,真是众说纷纭,没一个权威性的定义. 网上有的说,fastcgi是一个协议,php-fpm实现了这个协议: 有的说,php-f ...

  10. [Java/Python] java调用python脚本问题记录

    Java调用Python的的两种方式 1.Runtime private static String call_python(String input_argv) { String python_py ...