导入io上的Angstrom Python错误

时间:2014-12-22 00:15:30

标签: python mysql angstrom-linux

我正在尝试解决Angstrom上Python的MYSQL连接器的一些依赖关系。

从命令行我收到以下错误:

Python 2.6.6 (r266:84292, Feb 25 2011, 16:50:01)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import io
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named io

我认为IO是基础级模块。它似乎是最新的:

# opkg install python-core
Package python-core (2.6.6-ml12.2.6) installed in root is up to date.

默认情况下,IO不可用,我该怎么办才能解决此问题?

1 个答案:

答案 0 :(得分:0)

感谢Padraic Cunningham带领我走上解决方案的道路。

我发现安装中缺少多个文件,包括io.py。从Angstrom网站构建Beagleboard(XM)图像的Angstrom不包括这些文件(或者我删除它们的后续修改?)。我从Python源代码重建了Python,保留了相同的版本。

然后我必须重建MySQL连接器(来自MySql / Oracle)。 (我的所有其他模块,包括OpenCV继续工作没有问题)

这很有效,现在我可以查询数据库了。

另外一个注意事项。一旦解决了所有依赖关系,我仍然无法连接到数据库。问题是MySQL连接器假定TCP / IP连接而不是基于文件的套接字。所以我不得不在连接字符串中添加以下内容:

unix_socket="/tmp/mysql.sock"

这样完整的连接字符串如下所示:

cnx = mysql.connector.connect(user='username', password='password', host='localhost', database='dbname', raise_on_warnings=True, unix_socket="/tmp/mysql.sock")