2012-07-02 12 views
5

Tôi đang dần chuyển từ PHP sang Python. Đặc biệt, khi tôi làm việc trong webdev/webdesign Tôi muốn hiển thị một trang HTML cơ bản sử dụng Python, sử dụng đoạn mã sau:Sử dụng Python trên MAMP

#!/usr/bin/python 

print('<html><head></head><body>This is a test</body></html>') 

Một lần nữa, điểm chỉ là để xem nếu nó hoạt động. Gửi tệp trực tuyến trên máy chủ của tôi dưới dạng index.cgi Tôi không gặp sự cố khi hiển thị nội dung của tệp. Các vấn đề bắt đầu khi tôi cố gắng cài đặt mô-đun WSGI trên MAMP, hoặc chỉ để làm cho Python làm việc chung với nó. Khi nó đi đến localhost/index.cgi nội dung của tập tin được hiển thị thay vì kết quả của nó. Tôi đã theo dõi một nửa tá hướng dẫn và dường như không có gì để làm việc, tôi luôn gặp phải một vấn đề tại một thời điểm này hay cách khác. Dường như đến từ thực tế là Apache đi kèm với MAMP không được xây dựng theo cách cho phép bạn thêm các mô-đun vào nó (chẳng hạn như wsgi).

Điều này cũng xuất phát từ thực tế là tôi không thể tìm thấy bất kỳ bài viết gần đây về cách cài đặt Python trên MAMP, tất cả đều có từ 2008 hoặc 2009, với các phiên bản cũ của MAMP, Python và Macports.

Ai đó có thể chỉ cho tôi thủ tục hiện tại để thực hiện công việc này không?


EDIT: Ok sau khi tìm thấy this article tôi thu thập được rằng MAMP theo mặc định không xử lý kịch bản CGI ngoài cgi-bin/thư mục trong MAMP /. Vì vậy, tôi đã sửa đổi tệp conf của Apache như được giải thích, bây giờ nó dường như đọc tệp .cgi nhưng ném một lỗi 500 với nội dung được hiển thị ở trên. Mã có phải là thủ phạm hay là MAMP?

+0

đó là một 404 cho liên kết bạn tìm thấy. –

Trả lời

2

Got nó hoạt động, vấn đề là việc giải thích thiếu CGI của MAMP ngoài cgi-bin/thư mục (xem bài gốc) và các tiêu đề thiếu:

print 'Content-type: text/html\n\n'

0

Đây chỉ là CGI tiêu chuẩn, không có gì đặc biệt ở đây, không cần WSGI. Bạn cần cài đặt Python. Bạn có thể cài đặt nó bất cứ nơi nào bạn muốn, miễn là kịch bản của bạn có thể tìm thấy nó. Bạn thấy dòng:

#! /usr/bin/python 

đó là nơi tập lệnh sẽ tìm Python, thay đổi cài đặt Python hoặc sửa cài đặt Python của bạn ở đó.

+0

Vâng cài đặt Python của tôi * là * ở đó, khi tôi gõ 'mà python' trong Terminal nó thực sự nói với tôi'/usr/bin/python' nhưng dù sao khi tôi truy cập tệp .cgi, có thể là trong localhost/hoặc tệp:// Tôi chỉ nhận được nội dung của tập tin. Điều này thật kỳ lạ. –

+0

@MaximeFabre Tìm Python trong thư mục cài đặt MAMP của bạn. (Của tôi '/ Ứng dụng/MAMP/bin/apache2/bin/python', đó là một bí danh cho'/Applications/MAMP/Library/bin/python2.7') –