ImportError: No module named web - python in MAMP

Viewed 488

I am running an apache server with MAMP in my Macbook pro. And I have added a python file named File.py to the CGI-Executable directory.

Contents of File.py:

#!/usr/bin/python

import web
import json
from xml.etree.ElementTree import Element, SubElement, Comment, tostring


urls = (
        '/json', 'get_json'
        )
app = web.application(urls, globals())
class get_json:
    def GET(self):
        pyDict = {'one':1,'two':2}
        web.header('Content-Type', 'application/json')
        return json.dumps(pyDict)

if __name__ == "__main__":
    app.run()

I have installed web.py (by running pip install web.py) in my Mac. Now when I go to browser and enter http://localhost:8888/cgi-bin/File.py/json it is showing error 500 internal error, I checked the log file, log is

[Thu Mar 17 00:31:20 2016] [error] [client ::1] Traceback (most recent call last):
[Thu Mar 17 00:31:20 2016] [error] [client ::1]   File " path-to-CGI-Executables/File.py", line 3, in <module>
[Thu Mar 17 00:31:20 2016] [error] [client ::1]     import web
[Thu Mar 17 00:31:20 2016] [error] [client ::1] ImportError: No module named web
[Thu Mar 17 00:31:20 2016] [error] [client ::1] Premature end of script headers: File.py

Now I tried running the python file from terminal like

$ python File.py 127.0.0.1

Then in browser http://127.0.0.1:8080/json its working fine and showing {"two": 2, "one": 1} as result.

Whats happening if I add this to MAMP CGI? How to make installed modules available within MAMP?

UPDATE:

MAMP version : Version 3.5 (3.5)

Python version : Python 2.7.11 Mac

OS X version : 10.10.5 (14F1605)

0 Answers
Related