移植Python3.7到S3C2440
2022/1/8 1:03:46
本文主要是介绍移植Python3.7到S3C2440,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
基本上是参考网上的文章,具体原理性的东西我也不太懂
- 开发板: 友善mini2440
- gcc: arm-linux-gcc 4.4.3
- 宿主机: deepin-linux-20
1.下载python3.7
百度搜索Python国内下载 去阿里源下载Python-3.7.10.tgz就行。别下太新的,也许编译通不过。
也别下3.6之前的,因为我在开发板上要运行下载的get-pip.py(自行百度)说是不支持3.6版本之前的。
2.编译宿主机Python
cd Desktop/Python-3.7.10/ mkdir build.pc cd build.pc sudo ../configure //这里直接configure就行,因为这里是编译x86的Python 采用默认配置就好 sudo make -j4 & make install sudo rm /usr/bin/python //先删除电脑上你正在使用的Python的软连接,替换为刚刚编译的python版本 sudo ln -sf /usr/local/bin/python3.7 /usr/bin/python //替换 python -v //看看版本是不是替换过来了。上面的文件路径要依据你自己的电脑的实际情况。
3.交叉编译
然后接下来的步骤基本上是依据这个博客
注意要先编译(交叉编译)sqlite 并在python的setup.py里修改sqllite的路径
按照里面的步骤,先make Parser 然后 mkdir build.arm install.arm sudo ../configure --host=arm-linux --build=arm --prefix=/home/wangke/Desktop/Python-3.7.10/install.arm/ CC=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc CXX=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-g++ AR=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-ar --disable-ipv6 --enable-shared READELF=arm-linux-readelf ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --enable-optimizations /*进行编译配置,会生成Makefile 这里注意编译器路径要用绝对路径/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc, 如果提示你有错误,改正就好, 一般来说查看config.log 然后修改第一级目录下的configure文件(一般是直接整段注释掉提示出错的地方), 如果能正常生成Makefile 说明配置基本成功, 但是还是要检查和按照上面的博客修改下Makefile和setup.py*/
4. sudo make & make install
在刚刚设置的–prefix=/home/wangke/Desktop/Python-3.7.10/install.arm/ 文件夹下就有 编译好的 python可执行程序(解释器),和相关的库文件等,将该目录下的所有文件和文件夹拷贝到开发板,比如我的是/mnt/sdcard
然后在开发板的终端里面
vi /etc/profile //没有自己建一个 添加上 export PATH=$PATH:/mnt/sdcard/python/bin # 用于执行python,填写 Python目录中的Bin目录即可export PYTHONPATH= # 这一行是为了额外的模块的搜索,根据实际模块的使用情况进行填写,可留空,可参考附录进行填写 export PYTHONHOME=/mnt/sdcard/python export LD_LIBRARYPATH = $LD_LIBRARYPATH: python 文件下的/lib 保存退出 source /etc/profile 重启开发板 pytthon3 -v 如果提示缺少库什么的 在宿主机上 arm-linux-readelf -d 刚刚编译好的python3.7可执行程序,查看一下需要哪些库 0x00000001 (NEEDED) Shared library: [libpython3.7m.so.1.0] 0x00000001 (NEEDED) Shared library: [libcrypt.so.1] 0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [libutil.so.1] 0x00000001 (NEEDED) Shared library: [librt.so.1] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 没有的从编译器的库文件夹/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib里面拷贝到开发板LD_LIBRARYPATH(好吧好像是这个名字)指定的目录下 或者默认的/lib目录
在开发板的终端里出现如上图所示,则表示移植成功
这篇关于移植Python3.7到S3C2440的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Python编程基础知识
- 2024-11-01Python编程基础
- 2024-10-31Python基础入门:理解变量与数据类型
- 2024-10-30Python股票自动化交易资料详解与实战指南
- 2024-10-30Python入行:新手必读的Python编程入门指南
- 2024-10-30Python入行:初学者必备的编程指南
- 2024-10-30Python编程入门指南
- 2024-10-30Python量化交易学习:新手入门指南
- 2024-10-30Python股票自动化交易实战入门教程
- 2024-10-29Python股票自动化交易教程:新手入门指南