2009-09-19 48 views
40

我正在尝试安装MySQLdb包。我找到了源代码here如何安装MySQLdb软件包? (ImportError:No module named setuptools)

我做了以下内容:

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吗?

谢谢。

+5

你需要得到setuptools的。请参阅:http://pypi.python.org/pypi/setuptools – Seth 2009-09-19 18:19:54

回答

16

如果MySQLdb的公司现在分布在需要setuptools的方式,你的选择是要么(从here如)下载后或重构MySQLdb的的setup.py绕过setuptools(也许只是进口setupExtension从普通distutils代替可能工作,但您可能还需要编辑同一目录中的一些setup_*.py文件)。

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

5

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

  • 下载相应的Python .egg为setuptools的(即,为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,如果你只是我安装你当前的用户。你一定会需要它为所有用户安装它。

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) 
1

此外,您还可以通过运行以下命令来安装setuptools

百胜安装python-setuptools的看到构建依赖于文件setup.cfg

11

我决定在centos5.4这个问题

我希望有帮助。

+1

它帮助我在CentoOS上!谢谢 ! – 2011-12-13 05:35:33

1

我遇到了同样的问题现在。根据this post你需要有一个C编译器或GCC。我会尝试通过安装C编译器来解决这个问题。我会告诉你,如果它工作(我们会猜你不需要它了,但我会发布结果):)

0

当你需要在Linux/Unix中安装模块,而你缺乏sudo/admin权限,一个简单的方法就是使用用户方案安装,基本运行

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

(见http://docs.python.org/install/index.html进一步的细节)

1

井中安装C编译器GCC或没有工作,但我找到了一种方法,以成功安装我的sqldb包

请按照迈克schrieb的(感谢他)指示here。在我的例子中,我使用了setuptools-0.6c11-py2.7.egg和setuptools-0.6c11。然后下载可执行文件here然后安装该文件。希望它能帮助:)

5

@main:

$ su 
$ yum install MySQL-python 

,它将被安装(MySQLdb的)。

2

对于Python 2.7,可以很容易地安装使用这个

apt-get install python2.7-mysqldb

相关问题