[原创] helper2416_移植python2.6.x_测试ok

lyzhangxiang   2014-8-13 21:47 楼主
打算折腾一下nodejs,可惜还需要做一些工作,需要移植python,当然python又需要依赖sqlite,关于sqlite的移植很简单这里不做介绍,主要是交叉编译器就好了。可以参考我之前在beaglebone上面移植介绍的文章,论坛里面有的。

python可以说是一款很优秀的语言,ubuntu桌面相关的东西就和他有关,可玩性很高的,国外玩家很多。

编译过程如下:
  1. 1、准备工作
  2.         tar xvf python-2.6.5.tar.bz2
  3.         cp python-2.6.5 python-2.6.5-pc
  4.         mv python-2.6.5 python-2.6.5-arm
  5.         注意sudo apt-get install libbz2-dev
后面按照提示的错误逐个解决就行了,基本上是setp.py中兼容性问题。

python版本:
version.jpg

编辑一个测试文件
add vi.jpg

测试文件内容
add context.jpg

测试运行
add result.jpg

测试文件,大家可以尝试一下
  1. #!/bin/python

  2. import sys

  3. for a in sys.argv:
  4.         print a;

  5. if len(sys.argv) != 3:
  6.         print "only two argv should input"
  7.         sys.exit();

  8. num1 = int(sys.argv[1]);
  9. num2 = int(sys.argv[2]);

  10. print str(num1) + "+" + str(num2) + "=" + str(num1 + num2);


电工

回复评论 (9)

大赞!好久以前就有用户要求移植python,一直没有时间做!今天终于被您实现了!
My dreams will go on... http://www.jyxtec.com
点赞  2014-8-13 21:52
上传附件供大家玩耍,就当是apt-get了

弄个源管理一下这些东西也不错

python_build.zip (17.94 MB)
(下载次数: 18, 2014-8-13 21:59 上传)


sqlite_build.zip (2.41 MB)
(下载次数: 5, 2014-8-13 21:59 上传)

python_build.zip (17.94 MB)
(下载次数: 18, 2014-8-13 21:59 上传)

sqlite_build.zip (2.41 MB)
(下载次数: 5, 2014-8-13 21:59 上传)


电工
点赞  2014-8-13 22:00
引用: spacexplorer 发表于 2014-8-13 21:52
大赞!好久以前就有用户要求移植python,一直没有时间做!今天终于被您实现了!

帖子又出问题了。。。

  1. 1、准备工作
  2.         tar xvf python-2.6.5.tar.bz2
  3.         cp python-2.6.5 python-2.6.5-pc
  4.         mv python-2.6.5 python-2.6.5-arm
  5.         注意sudo apt-get install libbz2-dev
  6. 2、编译PC版本
  7.         cd python-2.6.5-pc
  8.         ./configure
  9.         make & make install
  10. 注意需要切换系统的python为当前编译的2.6版本
  11.         cd /usr/bin
  12.         sudo rm python
  13.         sudo ln -s /usr/local/bin/python2.6 ./python
  14.         python -V
  15. 3、编译PC版本原因
  16. 在python编译过程中,第一阶段会产生一个python的可执行版本,然后会进入第二阶段去按照setup.py来定义去编译附加的python模块.
  17. 而在处理setup.py时其实就需要用到python解析器了,但是我们如果是在编译嵌入式版本的话,那么第一阶段产生的python可执行程序是arm版本的.
  18. 它不能运行在我们的pc机上所以不能用它来处理setup.py,所以我们要提前编译一个PC上的python来处理setup.py.这时在当前的python-2.6.5-pc目录下就会出现python解释器了.


  19. 4、修改configure文件
  20. 由于configure文件在检测编译器的printf是否支持%zd的时候如果发现是在cross compile就会退出
  21. 所以我们要先去掉这段检测代码用vim打开configure文件查找%zd printf()就会发现如下代码
  22.         { echo "$as_me:$LINENO: checking for %zd printf() format support" >&5 echo $ECHO_N "checking for %zd printf() format support... $ECHO_C" >&6; } if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
  23.         然后往下找一直找到这里(行号25018--25109)
  24.         ( exit $ac_status )
  25.         { echo "$as_me:$LINENO: result: no" >&5
  26.         echo "${ECHO_T}no" >&6; }
  27.         fi
  28.         rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
  29.         fi
  30. 删掉或注释掉这两段以及中间的部分就可以了.


  31. 5、编译arm版本的python
  32.         cd python-2.6.5-arm
  33.         ./configure --host=arm-linux --prefix=$(pwd)/python_build --disable-ipv6 --enable-shared


电工
点赞  2014-8-13 22:01
有机会移植个新版本的,这个有点老了
电工
点赞  2014-8-13 22:02
大家有兴趣可以折腾个ftp服务器,我之前在Beaglebone上面用过很方便的一点点代码就好了,python好处很多的

http://www.cnblogs.com/yili16438 ... 060fcd8d27e4c0.html

http://blog.chinaunix.net/uid-2413049-id-109795.html

http://www.jb51.net/article/30261.htm
电工
点赞  2014-8-13 22:04
不错,很强大
点赞  2014-8-14 14:50
顶顶顶啊!!!
点赞  2014-8-14 16:11
看看不错
点赞  2014-9-22 17:24

呵呵  谢谢支持
有问题欢迎跟帖讨论
电工
点赞  2014-9-22 17:56
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复