我正在使用所有软件的最新版本(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"
任何帮助将不胜感激!我被困在这里并且不想放弃,只是回到微软技术上这样做,因为我甚至无法启动和运行基本开发环境。
答案 0 :(得分:14)
如果您使用--no-site-packages
开关(默认)创建了virtualenv,则系统范围内安装的附加内容(如MySQLdb)不会包含在虚拟环境包中。
您需要安装带有virtualenv的pip
命令的MySQLdb。使用bin/activate
脚本激活virtualenv,或者使用virtualenv中的bin/pip
来在本地安装MySQLdb库。
或者,使用--system-site-package
开关创建一个包含系统站点包的新virtualenv。
答案 1 :(得分:1)
source $ENV_PATH/bin/activate
pip uninstall MySQL-python
pip install MySQL-python
这对我有用。
答案 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