2009-10-02 35 views
67

Tôi đang cố cài đặt các kết nối mysql trong virtualenv. Tôi muốn sử dụng pip hoặc easy_install. pip cung cấp cho tôi lỗi sau:virtualenv, mysql-python, pip: có ai biết không?

File "setup_posix.py", line 24, in mysql_config 

    raise EnvironmentError("%s not found" % (mysql_config.path,)) 

EnvironmentError: mysql_config not found 

easy_install hoặc nhận 404 từ sourceforge hoặc mang đến cho tôi một lỗi rất giống nhau.

Có ai biết cách giải quyết vấn đề này trong virtualenv không?

Trả lời

89

Tôi cũng đang cố gắng thiết lập các liên kết MySQL trong virtualenv. Tất cả những gì tôi phải làm là cài đặt gói chứa mysql_config. Trên Ubuntu, nó được gọi là libmysqlclient-dev.

Sau đó, tôi có thể thực hiện (virtualenv'd) python setup.py buildpython setup.py install.

+12

Để thực hiện công việc này, tôi cũng phải cài đặt python-dev trước khi cài đặt và cài đặt setup.py. –

+9

Sau khi libmysqlclient-dev tôi đã sử dụng PIP để cài đặt liên kết mysql: "pip install MySQL-python" – stricjux

+6

Nhận xét của người dùng ẩn danh: Trên Fedora nó được gọi là 'mysql-devel', tức là' sudo yum install mysql-devel'. Sau đó, 'pip install mysql-python' hoạt động trong virtualenv. – Anne

0

Không tìm thấy mysql_config. Đặt thư mục chứa mysql_config trên đường dẫn của bạn và thử lại.

+3

Đối với tôi, lệnh để thực hiện điều đó là: 'xuất PATH = $ PATH:/usr/local/mysql-5.5.24-osx10.6-x86_64/bin' trên MAC OSX. Mileage của bạn có thể khác nhau, nhưng chỉ cần làm một 'định vị mysql_config' và bạn nên trong kinh doanh. –

1

Bạn có thể không có mysql_config nếu bạn không cài đặt gói mysqlclient-dev OS thích hợp.

Cá nhân, đối với các gói yêu cầu biên dịch C mở rộng, tôi thích cài đặt các phiên bản đóng gói OS, vì tôi đã gặp ít sự cố hơn theo cách đó. Việc cài đặt phiên bản mysql-python được đóng gói hệ điều hành trên tất cả các máy chủ của tôi dễ dàng hơn là cài đặt các phụ thuộc biên dịch.

May mắn thay trong kinh nghiệm của tôi những gói này cũng có xu hướng rất ổn định (mysql-python, PIL, lxml, vv), vì vậy tôi không cần phải phiên bản-pin chúng cho mỗi dự án.

Nó, tuy nhiên, ngăn tôi sử dụng virtualenv --no-site-packages, điều này hơi khó chịu.

7

Trong OS X Tôi đã sử dụng Macports để cài đặt MySQL của mình, tệp này làm cho tệp mysql_config được gọi là mysql_config5.

Vì vậy, tôi đã làm: sudo ln -s mysql_config5 /opt/local/bin/mysql_config

Và sau đó chạy pip install MySQL-python từ một virtualenv và tất cả là tốt.

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