9

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

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

任何帮助,将不胜感激!我被困在这里,不想认输,只是回到微软技术上做这件事,因为我什至无法启动和运行基本的开发环境。

4

3 回答 3

14

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

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

或者,使用--system-site-package交换机创建一个新的 virtualenv,其中包含系统站点包。

于 2012-11-08T11:22:10.967 回答
1
  1. source $ENV_PATH/bin/activate
  2. pip uninstall MySQL-python
  3. pip install MySQL-python

这对我有用。

于 2017-05-09T09:24:49.267 回答
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/libDYLD_LIBRARY_PATH

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib对于我正在做的第二步~/.profile

于 2014-12-28T04:15:29.567 回答