安装MySQLdb,在virtualenv之外工作,但在它内部不存在。怎么解决?

时间:2012-11-08 11:17:21

标签: python virtualenv mysql-python

我正在使用所有软件的最新版本(Django,Python,virtualenv,MySQLdb),但我无法使用它。当我从virtualenv外部的python提示符中运行“import MySQLdb”时,它可以工作,里面写着“ImportError:没有名为MySQLdb的模块”。

我正在尝试学习Python和Linux Web开发。我知道使用SQLLite是最简单的,但是我想学习如何开发比我在.NET中可以做的更大规模的应用程序。我已经阅读了Google上的每篇博文和StackOverflow上的每篇帖子,他们都建议我运行“sudo pip install mysql-python”,但它只是说“要求已经满足:/ usr / lib / pymodules /中的mysql-python” python2.7"

任何帮助将不胜感激!我被困在这里并且不想放弃,只是回到微软技术上这样做,因为我甚至无法启动和运行基本开发环境。

3 个答案:

答案 0 :(得分:14)

如果您使用--no-site-packages开关(默认)创建了virtualenv,则系统范围内安装的附加内容(如MySQLdb)不会包含在虚拟环境包中。

您需要安装带有virtualenv的pip命令的MySQLdb。使用bin/activate脚本激活virtualenv,或者使用virtualenv中的bin/pip来在本地安装MySQLdb库。

或者,使用--system-site-package开关创建一个包含系统站点包的新virtualenv。

答案 1 :(得分:1)

  1. source $ENV_PATH/bin/activate
  2. pip uninstall MySQL-python
  3. pip install MySQL-python
  4. 这对我有用。

答案 2 :(得分:0)

我遇到了同样的问题,但是当我收到此错误时,使用virtualenv的pip并没有解决问题

error: could not delete '/Library/Python/2.7/site-packages/_mysql.so': Permission denied

之前我已经按sudo pip install mysql-python

安装了软件包

要解决此问题,请将文件/Library/Python/2.7/site-packages/MySQL_python-1.2.5-py2.7.egg-info/Library/Python/2.7/site-packages/_mysql*复制到~/v/lib/python-2.7/site-packages并在/usr/local/mysql/lib env变量中加入DYLD_LIBRARY_PATH

第二步我正在export DYLD_LIBRARY_PATH=/usr/local/mysql/lib

中进行~/.profile