如何在OS X 10.9上使用Python 2.7.8和Sublime Text 3访问MySQL Python连接器
我正在尝试在 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 个回答
Python并不是通过shell中的$PATH
变量来找到可以导入的模块,而是使用一个叫sys.path
的列表。如果你运行Python解释器并打印出sys.path
,你会发现site-packages
目录已经在搜索范围内了。在程序执行之前,你可以通过将其他目录添加到$PYTHONPATH
这个环境变量中,来让sys.path
包含更多的目录。
从结构上看,mysql
是一个包,而connector
是它的子包。我猜想你需要把符号链接放到上一级目录(也就是mysql
目录),这样才能找到必要的__init__.py
文件,这样它才能被识别为一个包。
一般来说,学习使用pip
来安装模块和包是在所谓的虚拟环境中是个好主意。这样可以让你(例如)在不同的程序中使用同一个模块的不同版本。