簡體   English   中英

在Mac OS X 10.11上的MAMP 3.5上運行python腳本

[英]running python-scripts on MAMP 3.5 on mac osx 10.11

我嘗試在新的MAMP 3.5上運行一個簡單的“ helloWorld” python代碼段,因為可能舊的xampp在更新mac osx el capitan時遇到了問題。

MAMP文檔說嵌入了mod_wsgi,實際的python和mod_python。 但是,如果我將我的test.py放在htdocs中,並嘗試通過JavaScript函數(ajax.POST)與它聯系,則似乎找到了該腳本,但結果我只在firebug控制台中收到了test.py的文本。背部。 似乎python腳本未執行。

test.py中的標題是#!/bin/usr/python ,我也試圖將test.py放在MAMP / cgi-bin-directory或使用其他現有的python-paths(MAMP /“ that python”)做有人有主意嗎? 以下是我的兩個片段:

    <script type="text/javascript">
        $(document).ready(function(){

            $("button").click(function(){

                var myValue = $("input:text").val();
                console.log(myValue);

                $.ajax({
                     type: "POST",
                     url: "test.py",
                     data: { myPy: myValue},

                     success: function(data) {   
                        console.log("This is my result: ", data);             
                    }        
                });
            });
       });
    </script>

這是test.py:

    #!/bin/usr/python

    def myjsfunction (myPy):
         return (myPy)

我遇到了完全相同的問題,並且通過執行以下操作設法解決了:

披露:

  • 當前正在運行MAMP 3.5
  • Python 2.7

腳步:

  1. 在標記內的httpd.conf文件(MAMP / conf / Apache / httpd.conf)中添加以下行,如下所示:

要添加的行:

Options FollowSymLinks +ExecCGI

要添加的部分:

    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
        Options FollowSymLinks +ExecCGI
    </Directory>
  1. 如下創建一個.cgi python文件(該文件的擴展名為.cgi btw,您應該從ajax調用中這樣調用它):

      #!/usr/bin/python print 'Content-type: text/html\\n\\n' import cgi response = cgi.FieldStorage() print response["myPy"].value 

那應該給你想要的輸出。 如果您不想使用原始的CGI,請查看此文章以獲取python腳本的其他選項(例如django)。

如何用Python處理POST和GET變量?

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM