- 作者:
- 分类:知识&开发->语言->Python
- 阅读:32
- 点赞:1
- 版权:CC BY-SA 4.0
- 创建:2023-09-05
- 更新:2023-09-06
版权声明:本文为 neucrack 的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接(持续更新):https://neucrack.com/p/504
原文链接(持续更新):https://neucrack.com/p/504
下载源码
https://www.python.org/downloads/source/
编译给 HOST(PC)用的 python
cd Python-3.6.9/
./configure --prefix=$PWD/../_install_host --enable-shared
make -j`nproc`
make install
配置参数
https://docs.python.org/3/using/configure.html#configure-options
export PATH=_install_host的bin 路径
export LD_LIBRARY_PATH=_install_host的lib路径
python3 --version
编译 target
清除之前的
make distclean
这里是 armA7 为例
./configure --host=arm-openwrt-linux --build=armv7l --prefix=`pwd`/../python_target --enable-shared --with-build-python --enable-ipv6 ac_cv_file__dev_ptmx="yes" ac_cv_file__dev_ptc="no"
make -j`nproc`
make install
如果最后遇到了subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
用 root 用户编辑 /usr/bin/lsb_release
, #!/usr/bin/python3
改为 python3
即可,这是因为 python3 命令才能调用到我们编译出来的 python3。