2009-09-19 70 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

相關問題