我正在尝试设置 MySQL 以在 OS X 10.9 上使用 python 2.7.8 和 Sublime Text 3,因此我安装了 MySQL python 连接器。每当我尝试运行“import mysql.connector”时,我都会得到“ImportError:没有名为连接器的模块”。

应该如何配置才能使用连接器访问 MySQL?

细节:

-Sublime安装在Applications下

-Sublime Text 3 默认使用 python 3,因此我必须设置 python 2.7 构建系统。这是我的系统代码:

  "cmd": ["/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python2"

-Python安装在

 /usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7

-MySQL可执行文件安装在

/usr/local/mysql-5.6.19-osx10.7-x86_64/bin

- 连接器有一个符号链接

/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mysql/connector

并完全安装在

/usr/local/lib/python2.7/site-packages/mysql/connector

此外,我将以下内容添加到 .bash_profile 中,以将必要的目录添加到路径中。

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

# trying to get mysql access
PATH = "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:${PATH}"
export PATH

我确信我错过了一些简单的东西,但这是我第一次设置这么多,而且我花了太多时间在谷歌上搜索并试图找出我做错了什么。有人知道我需要更改什么才能访问连接器模块吗?提前致谢。

有帮助吗?

解决方案

Python 不使用 shell $PATH 变量来定位可导入模块,它使用一个名为的列表 sys.path 在Python中。如果你运行你的解释器并打印出来 sys.path 从中你应该看到 site-packages 目录已被搜索。您可以请求添加更多目录 sys.path 在程序执行之前将它们添加到 $PYTHONPATH 外壳环境变量。

从结构上可以看出 mysql 是一个包 connector 作为一个子包,我猜测您需要将符号链接设置为更高一个目录(IE。mysql 目录)以获取必要的 __init__.py 这将导致它被识别为一个包。

一般来说,学习使用是一个好主意 pip 在所谓的虚拟环境中安装模块和包。它允许您(例如)让不同的程序使用同一模块的不同版本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top