如何安装MySQLdb包? (ImportError:没有名为setuptools的模块)

时间:2009-09-19 18:07:45

标签: python mysql installation

我正在尝试安装MySQLdb包。我找到了源代码here

我做了以下事情:

gunzip MySQL-python-1.2.3c1.tar.gz
tar xvf MySQL-python-1.2.3c1.tar
cd MySQL-python-1.2.3c1
python setup.py build

结果我得到了以下内容:

Traceback (most recent call last):
  File "setup.py", line 5, in ?
    from setuptools import setup, Extension
ImportError: No module named setuptools

有人知道如何解决这个问题吗? 顺便说一句,如果我能够完成上述步骤,我将需要执行以下操作:

sudo python setup.py install

我没有系统管理员权限。我还有机会安装MySQLdb吗?

谢谢。

11 个答案:

答案 0 :(得分:28)

尝试了很多建议后,只需使用sudo apt-get install python-mysqldb为我工作。

更多信息: Getting "Error loading MySQLdb module: No module named MySQLdb" - have tried previously posted solutions

答案 1 :(得分:16)

如果MySQLdb现在以需要setuptools的方式分发,您可以选择下载后者(例如从here)或重构MySQLdb的setup.py以绕过setuptools(也许只是从普通setup导入Extensiondistutils可能会有效,但您可能还需要编辑同一目录中的一些setup_*.py文件。

根据您网站的Python安装配置方式,安装扩展以供您个人使用而不需要系统管理员权限可能很难,但如果您拥有shell访问权限,则绝不可能。您需要调整Python的sys.path以从您自己的目录开始,这是您个人的系统范围的站点pacages目录,例如,通过在您自己的环境中持久设置PYTHONPATH,然后在所述个人目录中手动放置正常安装通常会放置在站点包(和/或其子目录)中。

答案 2 :(得分:11)

我通过运行以下命令来安装setuptools

,在centos5.4上解决了这个问题

yum install python-setuptools

我希望有所帮助。

答案 3 :(得分:5)

这对我来说也有点棘手,我做了以下工作很好。

  • 为setuptools下载相应的Python .egg(例如,对于Python 2.6,您可以获取它here。从PyPI网站here中获取正确的一个。)
  • chmod鸡蛋可执行:chmod a+x [egg](即,对于Python 2.6,chmod a+x setuptools-0.6c9-py2.6.egg
  • 运行./[egg](即,对于Python 2.6,./setuptools-0.6c9-py2.6.egg

如果您只是为当前用户安装sudo,则不确定是否需要使用sudo。你肯定需要它为所有用户安装它。

答案 4 :(得分:5)

@main:

$ su
$ yum install MySQL-python

它将被安装(MySQLdb)。

答案 5 :(得分:2)

#!/usr/bin/env python

import os
import sys
from **distutils.core** import setup, Extension

if sys.version_info < (2, 3):
    raise Error("Python-2.3 or newer is required")

if os.name == "posix":
    from setup_posix import get_config
else: # assume windows
    from setup_windows import get_config

metadata, options = get_config()
metadata['ext_modules'] = [Extension(sources=['_mysql.c'], **options)]
metadata['long_description'] = metadata['long_description'].replace(r'\n', '')
setup(**metadata)

答案 6 :(得分:2)

对于Python 2.7,可以使用此

轻松安装
  

apt-get install python2.7-mysqldb

答案 7 :(得分:1)

此外,您可以在setup.cfg文件中看到构建依赖项

答案 8 :(得分:1)

我现在遇到同样的问题。根据{{​​3}},您需要有一个C编译器或GCC。我将尝试通过安装C编译器来解决问题。我会告诉你它是否有效(我们猜你不再需要了,但我会发布结果):))

答案 9 :(得分:1)

安装好C编译器或GCC没有用,但我找到了成功安装mysqldb包的方法

请跟随Mike schrieb(感谢他)的指示here。就我而言,我使用了setuptools-0.6c11-py2.7.egg和setuptools-0.6c11。然后下载可执行文件here,然后安装该文件。希望它有所帮助:)

答案 10 :(得分:0)

当您需要在Linux / Unix中安装模块并且缺少sudo / admin权限时,一个简单的方法是使用用户方案安装,基本上运行

“python setup.py install --user”从要安装的模块/库的文件夹中的命令行

(有关详细信息,请参阅http://docs.python.org/install/index.html