如何在OS X 10.9上使用Python 2.7.8和Sublime Text 3访问MySQL Python连接器

0 投票
1 回答
1621 浏览
提问于 2025-04-18 15:09

我正在尝试在 OS X 10.9 上设置 MySQL,以便与 Python 2.7.8 和 Sublime Text 3 一起使用,所以我安装了 MySQL 的 Python 连接器。每当我尝试运行 "import mysql.connector" 时,都会收到 "ImportError: No module named connector" 的错误信息。

我应该如何配置才能使用这个连接器来访问 MySQL 呢?

具体情况:

- Sublime 安装在应用程序文件夹下

- 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

我知道我一定遗漏了什么简单的东西,但这是我第一次设置这么多东西,我花了太多时间在网上搜索,试图找出我做错了什么。有没有人知道我需要更改什么才能访问连接器模块?提前谢谢大家。

1 个回答

2

Python并不是通过shell中的$PATH变量来找到可以导入的模块,而是使用一个叫sys.path的列表。如果你运行Python解释器并打印出sys.path,你会发现site-packages目录已经在搜索范围内了。在程序执行之前,你可以通过将其他目录添加到$PYTHONPATH这个环境变量中,来让sys.path包含更多的目录。

从结构上看,mysql是一个包,而connector是它的子包。我猜想你需要把符号链接放到上一级目录(也就是mysql目录),这样才能找到必要的__init__.py文件,这样它才能被识别为一个包。

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

撰写回答