新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > python移植到arm平臺

        python移植到arm平臺

        作者: 時間:2016-11-09 來源:網絡 收藏
        1. 交叉編譯Python

          見Cross Compiling Python for Embedded Linux

        本文引用地址:http://www.104case.com/article/201611/317666.htm
        CC=arm-linux-gcc CXX=arm-linux-g++ AR=arm-linux-ar RANLIB=arm-linux-ranlib ./configure --host=arm-linux --build=x86_64-linux-gnu --prefix=/root/tftpboot/Python-2.7.3make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux- CROSS_COMPILE_TARGET=yes HOSTARCH=arm-linux BUILDARCH=x86_64-linux-gnumake install HOSTPYTHON=./hostpython BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux- CROSS_COMPILE_TARGET=yes prefix=/root/tftpboot/Python-2.7.3

        2. PC與開發板文件傳輸

          tftp: tftp -l path/to/filename -r filename -g 192.168.*.*

        3. 文件拷貝

        •   cp /your/path/bin/python2.7 /bin/python

        or export PATH=/your/path/bin/:$PATH # OK210開發板會報錯

        • 拷貝serial、django等python庫拷貝到/lib/python2.7/site-packages/目錄下。

        4. 設置Python相關環境變量

          以Python2.7.x為例。

        export PYTHONHOME=/your/path/#export PYTHONPATH=$PYTHONHOME:$PYTHONHOME/lib/python2.7:$PYTHONHOME/lib:$PYTHONHOME/lib/python2.7/site-packages#export PATH=$PATH:$PYTHONHOME:$PYTHONPATH

        5. sqlite3

        Building SQLLite and other dependanciesThanks to Lothsahn’s 2.7.3 patch, it is now possible to build sqlite3, bz2, gz, ssl and ctypes.  Lothsahn provides the following instructions:To do the compilation, the dependencies must be in the include and lib folder one path up from the python install.   For example:/include <– header files go here/lib <– shared object files go here/Python-2.7.3 <—Python sources go here during compileDependencies include libffi, sqlite, openssl, bzip2, zlib, etc.

        1. 按照上面Paul Gibson給的Cross Compiling Python for Embedded Linux, 但是import sqlite3會報錯,原因暫不明。

        試了一些解決辦法,嘗試未果,可能是lib_dir路徑問題:

        •   Removing other search paths from the setup.py, but the one i had the ARM compiled library in, made it work. 測試也未通過。

        http://stackoverflow.com/questions/12385634/shared-library-sqlite3-so-not-found-when-importing-sqlite3-on-python-2-6-6

        •   http://stackoverflow.com/questions/10654707/no-module-named-zlib-found
        •   http://stackoverflow.com/questions/6171210/building-python-and-more-on-missing-modules

        3.debian平臺成功。 http://www.friendlyarm.net/forum/topic/2731

        參考:

        1. cross compile python, busybox, flex, bash and so on,ARM cross-compiling howto

        2. 網上一個給力的例子,python-2.6.6:

        ClickandrunpythoncrosscompilingforEmbeddedARMLinux

        3.在友善之臂Linux系統中使用pythonhttp://112.124.9.243/?p=285

        4.移植python3到ARM平臺的OK6410開發板http://www.51bigfool.com/%E7%A7%BB%E6%A4%8Dpython3%E5%88%B0arm%E5%B9%B3%E5%8F%B0%E7%9A%84ok6410%E5%BC%80%E5%8F%91%E6%9D%BF.html

        附:

        •  用strip處理過后,將去掉其中的調試信息,執行文件大小也將小很多。命令如下:
            #arm-linux-strip file
            其中file是用arm-liunux-gcc編譯生成的二進制文件。
        • ./configure--host=arm-linux CC=arm-linux-gcc AR=arm-linux-ar STRIP=arm-linux-strip RANLIB=arm-linux-ranlib
        • sqlite3的交叉編譯
          •   # CC=arm-linux-gcc ./configure --prefix=/your/path/sqlite-3.7.14 --host=arm-linux --disable-tcl

              #make && make install




        關鍵詞: python移植arm平

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 富源县| 堆龙德庆县| 桂东县| 广平县| 射阳县| 天祝| 庆云县| 达日县| 二连浩特市| 镇原县| 孟津县| 洛扎县| 彩票| 宽城| 五台县| 屏边| 大名县| 西宁市| 历史| 鹤峰县| 宜黄县| 石狮市| 汶上县| 固镇县| 隆德县| 思茅市| 逊克县| 石嘴山市| 分宜县| 山西省| 韩城市| 潍坊市| 紫阳县| 阿鲁科尔沁旗| 特克斯县| 广丰县| 会昌县| 三亚市| 凤翔县| 丹巴县| 玛曲县|