2

我正在尝试解决 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 不应该默认可用,我该怎么做才能解决这个问题?

4

1 回答 1

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")
于 2014-12-23T12:57:22.240 回答