2012-07-02 8 views
5

Sto lentamente migrando da PHP a Python. In particolare, come io lavoro in webdev/web design Vorrei visualizzare una pagina HTML di base utilizzando Python, utilizzando il seguente codice:Usa Python su MAMP

#!/usr/bin/python 

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

Anche in questo caso, il punto è solo per vedere se funziona. Inviando il file online sul mio host come index.cgi non ho avuto problemi a visualizzare il contenuto del file. I problemi iniziano quando cerco di installare il modulo WSGI su MAMP, o semplicemente per far funzionare Python in generale con esso. Quando va a localhost/index.cgi, il contenuto del file viene visualizzato al posto dei suoi risultati. Ho seguito una mezza dozzina di tutorial e nessuno sembra funzionare, ho sempre riscontrato un problema in un punto o nell'altro. Sembra che il fatto che Apache venga fornito con MAMP non è costruito in un modo che consente di aggiungere moduli (come wsgi).

Questo è anche deriva dal fatto che non riesco a trovare alcuna recente articolo su come installare Python sul MAMP, tutti sia data da 2008 o 2009, con le vecchie versioni di MAMP, Python e MacPorts.

Qualcuno può indicarmi la procedura corrente per farlo funzionare?


EDIT: Ok dopo aver trovato this article Ho raccolto che MAMP di default non elaborare script CGI al di fuori della cgi-bin/cartella in MAMP /. Così ho modificato il file conf di Apache come spiegato, ora sembra che legga il file .cgi ma lanci un errore 500 con il contenuto mostrato sopra. Il codice è il colpevole o è MAMP?

+0

si tratta di un 404 per il link hai trovato. –

risposta

2

preso a lavorare, il problema fosse l'interpretazione mancante CGI di MAMP al di fuori della cartella/cgi-bin (vedi post originale) e le intestazioni mancanti:

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

0

Questo è solo CGI standard, niente di speciale qui, non è necessario per WSGI. Devi installare Python. Puoi installarlo dove preferisci, purché lo script possa trovarlo. Si vede la linea:

#! /usr/bin/python 

che è dove lo script cercherà di trovare Python, in modo da cambiare per l'installazione di Python, o fissare la vostra installazione di Python per essere lì.

+0

Beh, la mia installazione Python * è * lì, quando digito 'which python' in Terminal mi dice effettivamente'/usr/bin/python', ma ciononostante quando visito il file .cgi, sia in localhost/o file:// Ottengo solo il contenuto del file. Questo è strano –

+0

@MaximeFabre Cerca Python nella directory di installazione di MAMP. (Il mio/Applicazioni/MAMP/bin/apache2/bin/python', che è un alias per '/ Applicazioni/MAMP/Libreria/bin/python2.7') –

Problemi correlati