如何在本地运行Python Web应用程序(Windows)

时间:2013-10-11 10:33:56

标签: python python-2.7

我只是下载一个使用Python编写的Web应用程序。 我是Python的新手。在我做了一些研究之后,下面是我做的事情

1)安装Python 2.7

2)安装pip(How do I install pip on Windows?

当我尝试使用此命令运行python文件时

Python PATH/test.py

显示

Traceback (most recent call last):
File "PATH\test.py", line 1, in <module>
from flask import Blueprint, flash, request, render_template

Python代码:

from flask import Blueprint, flash, request, render_template
from steam import vdf
import json

vdfjson = Blueprint("vdfjson", __name__, template_folder="templates")


@vdfjson.route('/', methods=["GET", "POST"])
def index():
response = None
format = "json"
if request.method == "POST":
    format = request.form["format"]
    data = request.form["data"]

    try:
        if format == "vdf":
            response = json.dumps(
                vdf.loads(data),
                indent=4
            )

        elif format == "json":
            _response = json.loads(data)
            response = vdf.dumps(_response).decode("utf-16")

    except ValueError:
        flash("ValueError:  Your {} may not be valid.".format(format), "danger")
        response = "{}" if format == "json" else ""

return render_template("vdfjson.html", response=response, format=format, title="vdfjson")

*这是一个Web应用程序,所以我不确定我是否遵循正确的指令。

我尝试安装烧瓶

pip install flask

我得到以下错误

C:\Python27\Scripts>pip install Flask
Downloading/unpacking Flask
Downloading Flask-0.10.1.tar.gz (544kB): 544kB downloaded
Running setup.py egg_info for package Flask
C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution opt
ion: 'include_package_data'
  warnings.warn(msg)
C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution opt
ion: 'zip_safe'
  warnings.warn(msg)
C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution opt
ion: 'install_requires'
  warnings.warn(msg)
C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution opt
ion: 'test_suite'
  warnings.warn(msg)
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: -c --help [cmd1 cmd2 ...]
   or: -c --help-commands
   or: -c cmd --help

error: invalid command 'egg_info'
Complete output from command python setup.py egg_info:
C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution opt
ion: 'include_package_data'

warnings.warn(msg)

C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option:
'zip_safe'

warnings.warn(msg)

C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option:
'install_requires'

warnings.warn(msg)

C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option:
'test_suite'

warnings.warn(msg)

usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]

or: -c --help [cmd1 cmd2 ...]

or: -c --help-commands

or: -c cmd --help



error: invalid command 'egg_info'

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in c:\users\sam\appdat
a\local\temp\pip_build_SAM\Flask
Storing complete log in C:\Users\SAM\pip\pip.log

C:\Python27\Scripts>

之后我再次执行

Python PATH/test.py

它没有显示任何错误,但什么也没做。

5 个答案:

答案 0 :(得分:1)

这不是一个完整的烧瓶应用程序。您需要制作Flask实例,然后在其中注册您的蓝图。尝试运行以下代码:

from flask import Blueprint, Flask, flash, request, render_template
from steam import vdf
import json
app = Flask(__name__)


vdfjson = Blueprint("vdfjson", __name__, template_folder="templates")
app.register_blueprint(vdfjson)


@vdfjson.route('/', methods=["GET", "POST"])
def index():
    response = None
    format = "json"
    if request.method == "POST":
        format = request.form["format"]
        data = request.form["data"]

        try:
            if format == "vdf":
                response = json.dumps(
                    vdf.loads(data),
                    indent=4
                )

            elif format == "json":
                _response = json.loads(data)
                response = vdf.dumps(_response).decode("utf-16")

        except ValueError:
            flash("ValueError:  Your {} may not be valid.".format(format), "danger")
            response = "{}" if format == "json" else ""

        return render_template("vdfjson.html", response=response, format=format, title="vdfjson")

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

答案 1 :(得分:1)

您需要安装flask(可能还有其他一些库)。从烧瓶开始,看看你得到了什么错误。

pip install flask

通常有一个requirements.txt文件,其中包含具有依赖项列表的项目。然后你可以运行:

pip install -r ./path_to/requirements.txt

将为您安装所有这些。一旦您更熟悉virtualenv,它将允许您创建隔离的环境,以便按项目安装库。

答案 2 :(得分:1)

作者已更新原始源代码的最新版本。 所以现在就可以了。案件结案。感谢。

答案 3 :(得分:0)

您成功运行了test.py
但是库

  

来自flask导入蓝图,flash,request,render_template

您尝试导入的内容不在PYTHONPATH

答案 4 :(得分:0)

这对我有用:

pip install -u setuptools

pip install flask