首页 > 编程语言 > 详细

820板子安装python

时间:2019-04-12 19:38:37      阅读:145      评论:0      收藏:0      [点我收藏+]

1. 需要安装python, 从 python.org上下载版本,我下的是python3.5,网上搜索到的是python2.7的交叉编译过程

和820的结合下。

需要注意,先把820的环境设置好,就是$CC是交叉编译的那个CC,另外加入到$PATH里了。

python依赖openssl,下载交叉编译好,指定 /opt/agl/openssl为 --prefix 安装目录。

编译python之前,先用 make python Parser/pgen 编译出来pgen. 

./configure --prefix=/opt/agl/python3.5 --host=aarch64-agl-linux --build=x86_64-linux-gnu ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no

需要把前面编译出来的pgen拷贝到 /opt/agl/python3.5下。

编译前,更改Makefile,把openssl的链接目录 -L... 加入到 CONFIG_LDFLAGS里

编译时提示编译错误,类似乎某个头文件... 但ubuntu下时不报这样的错误。

因为有的头文件时从别的地方生成的,头文件第一行时注释: /* .... */

交叉编译工具不能识别这样的。 大概有三个文件时这样的,挨个删掉第一行注释。

2. 编译完需要拷贝到板子上,安装一些python工具

安装pip,用 get-pip.py,发现不行。下载pip-19...源码,安装时报错。

发现板子上原来有python,2.7.12版本。
ln -s /usr/lib64/python2.7 /usr/lib/python2.7

ubuntu下不存在这个问题。

但发现这个python版本很多内嵌的模块没有,于是决定自己编译一个版本。

搜索网上资料,似乎是2.7.13版本及其以下,做交叉编译需要打补丁(参见http://www.cnblogs.com/pengdonglin137/p/6588253.html)。安装2.7.16,我参考了别的网页,没有打补丁,后来类似的方法编译安装2.7.13,没打补丁,似乎也成功了。

2.7.16(ftp.python.org下载),

mkdir localbuild armbuild
cd localbuild
../configure --prefix=`pwd` && make -j4 && sudo make install
cd ../armbuild
../configure --prefix=/opt/agl/python2.7.13 --host=aarch64-agl-linux --build=x86_64-linux-gnu ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no

网上说python以来openssl,交叉编译,在python的Makefile中加上 -Lopenssl-1.0.2r/build/lib,

另外,编译之前需要注释掉setup.py中的两行:(参见 https://www.cnblogs.com/pengdonglin137/p/6596977.html)

15             if ext.name in sys.builtin_module_names:
16                 self.extensions.remove(ext)

make HOSTPYTHON=../localbuild/Python HOSTPGEN=../localbuild/Parser/pgen
make -i install HOSTPYTHON=../localbuild/Python HOSTPGEN=../localbuild/Parser/pgen

如果直接install,容易出现这样的错误
ImportError: /home/tangjian/source/Python-2.7.16/build/lib.linux2-aarch64-2.7/_struct.so: cannot open shared object file: No such file or directory

这个问题是由于安装时使用了python,但Makefile中指定了错误的库,使用了arm平台上的so,显然这是不能在我们的x86linux上运行的。

按照前面说的或者参见https://m.2cto.com/kf/201511/448789.html,可以解决这个问题。

进入到 /opt/agl/python2.7.13/lib/python2.7,

 

820板子安装python

原文:https://www.cnblogs.com/tangxiaosheng/p/10689783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!