1:几个月前交叉编译了python3,一直没有使用;最近工作需要
又开始折腾,首先遇到的问题就是一些内置的模块找不到:time等等;
经过上网搜索,发现是Modules/Setup需要打开一些没有编译的文件,比如
上文提到了time;
打开后会遇到_Pytime_DoubleToTimet找不到的问题,下载一个timemodule.c
补上那个函数就可以了
接着编译还会遇到make: *** [sharedmods] 错误 1 网上查到:
是LC_CTYPE的值zh_CN.GB2312不是对Python合法的值,
$ export LC_ALL=zh_CN.UTF-8
就可以解决了;以上结果导到目标板上面,发现time确实可以使用了;
又往前前进了一步;
2:接下来是重点,我要使用的是sqlite3,运行一个测试程序,发现
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/application/python2/lib/python3.2/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/application/python2/lib/python3.2/sqlite3/dbapi2.py", line 26, in <module>
from _sqlite3 import *
ImportError: No module named _sqlite3
找到sqlite3的库文件位置,做了一个软连接 ln -s libsqlite3.so.0.8.6 _sqlite3.so
接着提示一下错误:
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/application/lib/python2/lib/python3.2/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/application/lib/python2/lib/python3.2/sqlite3/dbapi2.py", line 26, in <module>
from _sqlite3 import *
ImportError: dynamic module does not define init function (PyInit__sqlite3)