PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tại sao tôi không thể cài đặt psycopg2? (Python 2.6.4, PostgreSQL 8.4, OS X 10.6.3)

( Xem các chỉnh sửa bên dưới cho câu hỏi cập nhật của bạn )

Bạn không có thực thi trình biên dịch "gcc4.0" trên máy của mình hoặc phiên bản phù hợp hoặc được cài đặt ở vị trí mà python không thể tìm thấy / sử dụng. XCode / Công cụ dành cho nhà phát triển ( bao gồm GCC ) phải có trên đĩa DVD cài đặt OSX ban đầu của bạn.

Vì bạn đủ khiêm tốn để tự gọi mình là người mới, đây là một điều khôn ngoan ... Việc giải quyết lỗi này thực sự không liên quan gì đến phát triển web back-end, vì đó là môi trường phát triển cục bộ của bạn (máy của bạn và tất cả phần mềm như nó được cấu hình và cài đặt) đó là vấn đề. Mẹo hay nhất mà tôi có để giải mã gobbledegook như thế này là bắt đầu từ khóa Google cho những thứ bạn chưa từng nghe đến trước đây. Nếu tôi ở trong vị trí của bạn, thông báo lỗi này kêu gọi tôi "hãy tìm hiểu xem gcc4.0 là cái quái gì. Sau đó, khi tôi biết nó là gì và nó có chức năng gì và tại sao python cần nó, thì tôi sẽ tìm ra lý do tại sao python không thể tìm thấy nó trên máy tính của tôi và sau đó tôi làm điều gì đó với nó. " Tuy nhiên, sự hài lòng khi giải quyết những loại vấn đề này không xảy ra với tất cả mọi người, đó là điều chắc chắn.

Câu trả lời cho tất cả những câu hỏi đó là:psycopg2 là một phần mở rộng của python được viết bằng ngôn ngữ C. Rất nhiều tiện ích mở rộng cho python được viết bằng C, không phải python, vì C được tối ưu hóa hơn nhiều so với python. Đó là những gì mà bản thân trình thông dịch python được viết trên thực tế. Mã ngôn ngữ C phải được biên dịch trước khi nó có thể sử dụng được (không giống như mã python, được thông dịch ) và trong trường hợp này, trình biên dịch bạn cần là gcc4.0. Bây giờ, có lẽ nếu bạn đang sử dụng Windows hoặc Linux, phiên bản đã biên dịch của psycopg2 có thể đã có sẵn và bạn sẽ không cần cài đặt GCC, vì bạn sẽ không phải biên dịch nó để sử dụng (nó sẽ được biên dịch sẵn cho bạn). Tuy nhiên, có vẻ như bạn sẽ phải tự biên dịch nó trên OS X và để làm điều đó, bạn cần chương trình "gcc4.0" có sẵn trong PATH hệ thống để tập lệnh thiết lập bạn đang cố chạy có thể tìm thấy và sử dụng nó. Trên OS X, bạn có thể lấy nó từ các đĩa DVD cài đặt gốc được gửi kèm theo máy tính của bạn. Đưa chúng vào ổ đĩa và tìm chương trình cài đặt Công cụ dành cho nhà phát triển. Sau khi cài đặt xong, bạn có thể kiểm tra xem trình biên dịch GCC 4.0 đã được cài đặt hay chưa bằng cách thử chạy lệnh "gcc4.0" trong bất kỳ cửa sổ bảng điều khiển nào và xem nó đã được cài đặt và trong đường dẫn của bạn chưa.

Chỉnh sửa cho bản cập nhật của bạn

Có vẻ như bây giờ bạn đã cài đặt tốt trình biên dịch GCC 4.0! Làm tốt lắm. Khi bạn nhìn thấy cái này:

>gcc4.0
i686-apple-darwin10-gcc-4.0.1: no input files

Đầu ra đó là trình biên dịch cho bạn biết phiên bản chính xác của nó, và sau đó nói với bạn rằng bạn không cung cấp tham số cho nó, vì vậy, nó sẽ không làm được gì cho bạn. Không sao cả, vì tập lệnh thiết lập psycopg2 của bạn sẽ gọi nó chứ không phải trực tiếp bạn.

Tiếp theo, có vẻ như psycopg2 mong đợi rằng bạn cũng nên cài đặt các thư viện phát triển máy chủ PostgreSQL. Vì tôi thấy bạn hiện đang sử dụng MacPorts, bạn có thể dễ dàng cài đặt các thư viện này bằng lệnh này:

sudo port install postgresql-server-devel

Điều đó sẽ giúp bạn có được pg_config bị thiếu thực thi mà thiết lập đang tìm kiếm.

Hãy cập nhật cho chúng tôi về tiến trình của bạn!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi PostgreSQL 9.0:cột t.tgisconstraint không tồn tại

  2. Tên cột và kiểu dữ liệu cho các dạng xem cụ thể hóa trong PostgreSQL?

  3. Lời gọi hàm PostgreSQL

  4. Cách hoạt động của Acosh () trong PostgreSQL

  5. Oracle đến PostgreSQL:Cú pháp nối ngoài ANSI trong PostgreSQL