2009-09-19 35 views
40

Tôi đang cố cài đặt gói MySQLdb. Tôi đã tìm thấy mã nguồn here.Làm thế nào để cài đặt gói MySQLdb? (ImportError: Không có module tên là setuptools)

tôi đã làm như sau:

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 

Kết quả là tôi đã nhận như sau:

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

Có ai biết làm thế nào để giải quyết vấn đề này? Bằng cách này, nếu tôi có thể làm các bước được mô tả, tôi sẽ cần phải làm như sau:

sudo python setup.py install 

Và tôi không có hệ thống quản trị quyền. Tôi vẫn có cơ hội cài đặt MySQLdb?

Cảm ơn bạn.

+5

Bạn cần phải nhận setuptools. Xem: http://pypi.python.org/pypi/setuptools – Seth

Trả lời

16

Nếu của MySQLdb nay phân phối trong một cách mà đòi hỏi setuptools, lựa chọn của bạn là một trong hai để tải về sau này (ví dụ như từ here) hoặc cấu trúc lại setup.py MySQLdb để bỏ qua setuptools (có thể chỉ nhập khẩu setupExtension từ đồng bằng distutils thay vì có thể làm việc , nhưng bạn cũng có thể cần chỉnh sửa một số tệp setup_*.py trong cùng một thư mục).

Tùy thuộc vào cách cài đặt Python của trang web của bạn, cài đặt tiện ích mở rộng cho việc sử dụng riêng của bạn mà không yêu cầu quyền quản trị có thể khó, nhưng không bao giờ thực sự là không thể nếu bạn có quyền truy cập trình bao. Bạn sẽ cần phải tinh chỉnh sys.path của Python để bắt đầu với một thư mục của riêng bạn, đó là tương đương cá nhân của bạn với thư mục pacages trang web toàn hệ thống, ví dụ: bằng cách đặt PYTHONPATH liên tục trong môi trường của riêng bạn và sau đó đặt thủ công vào thư mục cá nhân được cho biết những cài đặt thông thường sẽ đặt trong gói trang web (và/hoặc thư mục con của chúng).

5

Điều này cũng khá khó khăn đối với tôi, tôi đã làm những việc sau đây hoạt động khá tốt.

  • Tải .egg Python thích hợp cho setuptools (ví dụ, đối với Python 2.6, bạn có thể lấy nó here Grab điều đúng từ trang PyPI here..)
  • chmod trứng được thực thi: chmod a+x [egg] (tức là, cho Python 2.6, chmod a+x setuptools-0.6c9-py2.6.egg)
  • Run ./[egg] (ví dụ, đối với Python 2.6, ./setuptools-0.6c9-py2.6.egg)

Không chắc chắn nếu bạn sẽ cần phải sử dụng sudo nếu bạn chỉ cần cài đặt i t cho bạn người dùng hiện tại. Bạn chắc chắn sẽ cần nó để cài đặt nó cho tất cả người dùng.

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

Ngoài ra, bạn có thể thấy việc xây dựng phụ thuộc trong file setup.cfg

11

tôi giải quyết vấn đề này trên centos5.4 bằng cách chạy lệnh sau để cài đặt setuptools

yum install python-setuptools

Tôi hy vọng điều đó sẽ hữu ích.

+1

nó đã giúp tôi trên CentoOS! cảm ơn ! –

1

Tôi đang gặp vấn đề tương tự ngay bây giờ. Theo số this post, bạn cần có trình biên dịch C hoặc GCC. Tôi sẽ cố gắng khắc phục vấn đề bằng cách cài đặt trình biên dịch C. Tôi sẽ thông báo cho bạn nếu nó hoạt động (chúng tôi sẽ đoán bạn không cần nó nữa, nhưng tôi sẽ đăng kết quả anyway) :)

0

Khi bạn cần cài đặt mô-đun trong Linux/Unix và bạn thiếu sudo/admin quyền, một cách đơn giản xung quanh nó là sử dụng cài đặt chương trình người dùng, về cơ bản chạy

"python setup.py install --user" từ dòng lệnh trong mô-đun/thư viện sẽ được cài đặt

(xem http://docs.python.org/install/index.html để biết thêm chi tiết)

1

cũng cài đặt trình biên dịch C hoặc GCC không hoạt động nhưng tôi đã tìm cách cài đặt thành công sqldb gói

vui lòng làm theo hướng dẫn của Mike schrieb (Cảm ơn anh ấy) here. Trong trường hợp của tôi, tôi đã sử dụng setuptools-0.6c11-py2.7.egg và setuptools-0.6c11. Sau đó tải xuống tệp thi hành here rồi cài đặt tệp đó. hy vọng nó sẽ giúp :)

5

@main:

$ su 
$ yum install MySQL-python 

và nó sẽ được cài đặt (MySQLdb).

2

Đối với Python 2.7, người ta có thể dễ dàng cài đặt sử dụng này

apt-get install python2.7-mysqldb

Các vấn đề liên quan