Найти - Пользователи
Полная версия: В тупике.
Начало » Python для новичков » В тупике.
1 2
malikk
Здравствуйте.
В программировании полнейший ноль, если не считать Бейсик на Спекртуме в молодости.
По ману установил. Видимо где-то напутал с путями.
После дернуло меня переустановить Python.
Вообщем вывод при открытии http://0.0.0.0:5000/ :
 :/home/flask_server# python app.py
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
404: Not Found
[2016-11-11 03:49:07,906] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "/home/flask_server/env/local/lib/python2.7/site-packages/flask/app.py", line 1988, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/flask_server/env/local/lib/python2.7/site-packages/flask/app.py", line 1642, in full_dispatch_request
    response = self.make_response(rv)
  File "/home/flask_server/env/local/lib/python2.7/site-packages/flask/app.py", line 1731, in make_response
    raise ValueError('View function did not return a response')
ValueError: View function did not return a response
View function did not return a response
Traceback (most recent call last):
  File "app.py", line 33, in <module>
    app.run(host='0.0.0.0', port=port)
  File "/home/flask_server/env/local/lib/python2.7/site-packages/flask/app.py", line 843, in run
    run_simple(host, port, self, **options)
  File "/home/flask_server/env/local/lib/python2.7/site-packages/werkzeug/serving.py", line 694, in run_simple
    inner()
  File "/home/flask_server/env/local/lib/python2.7/site-packages/werkzeug/serving.py", line 659, in inner
    srv.serve_forever()
  File "/home/flask_server/env/local/lib/python2.7/site-packages/werkzeug/serving.py", line 499, in serve_forever
    HTTPServer.serve_forever(self)
  File "/usr/lib/python2.7/SocketServer.py", line 238, in serve_forever
    self._handle_request_noblock()
  File "/usr/lib/python2.7/SocketServer.py", line 297, in _handle_request_noblock
    self.handle_error(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/home/flask_server/env/local/lib/python2.7/site-packages/werkzeug/serving.py", line 216, in handle
    rv = BaseHTTPRequestHandler.handle(self)
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/home/flask_server/env/local/lib/python2.7/site-packages/werkzeug/serving.py", line 251, in handle_one_request
    return self.run_wsgi()
  File "/home/flask_server/env/local/lib/python2.7/site-packages/werkzeug/serving.py", line 193, in run_wsgi
    execute(self.server.app)
  File "/home/flask_server/env/local/lib/python2.7/site-packages/werkzeug/serving.py", line 181, in execute
    application_iter = app(environ, start_response)
  File "/home/flask_server/env/local/lib/python2.7/site-packages/flask/app.py", line 2000, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/flask_server/env/local/lib/python2.7/site-packages/flask/app.py", line 1991, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/flask_server/env/local/lib/python2.7/site-packages/flask/app.py", line 1731, in make_response
    raise ValueError('View function did not return a response')
ValueError: View function did not return a response
Погуляв по Гуглу, убедился что в полном ауте нахожусь…
Если есть возможность, подскажите, что убрать( и как).
JOHN_16
Функция не вернула Response объект. Скорее всего у Вас ошибкп в коде. Нужо его смотреть. Возможно вызывающие скобки не поставили.
FishHook
JOHN_16
Возможно вызывающие скобки не поставили.
Тогда бы вернулась функция, ошибка была бы другая, скорее всего вьюха вообще ничего не возвращает.

malikk, код в студию!
malikk
app.py

 import logging
import os
from logging import Formatter, FileHandler
from flask import Flask
app = Flask(__name__)
@app.errorhandler(500)
def internal_error(error):
    print str(error)
@app.errorhandler(404)
def not_found_error(error):
    print str(error)
if not app.debug:
    file_handler = FileHandler('error.log')
    file_handler.setFormatter(
        Formatter('%(asctime)s %(levelname)s: \
            %(message)s [in %(pathname)s:%(lineno)d]')
    )
    app.logger.setLevel(logging.INFO)
    file_handler.setLevel(logging.INFO)
    app.logger.addHandler(file_handler)
    app.logger.info('errors')
if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)
@app.route('/v{}/ocr'.format(_VERSION), methods=["POST"])
def ocr():
    try:
        url = request.json['image_url']
        if 'jpg' in url:
            output = process_image(url)
            return jsonify({"output": output})
        else:
            return jsonify({"error": "only .jpg files, please"})
    except:
        return jsonify(
            {"error": "Did you mean to send: {'image_url': 'some_jpeg_url'}"}
        )
4kpt_IV
errorhandler'a ничего не возвращают…
Ну и app.route поставьте после errorhandler'ов
malikk
4kpt_IV
errorhandler'a ничего не возвращают…Ну и app.route поставьте после errorhandler'ов
Вы имеете ввиду так?:
 import logging
import os
from logging import Formatter, FileHandler
from flask import Flask
app = Flask(__name__)
@app.errorhandler(500)
def internal_error(error):
    print str(error)
@app.errorhandler(404)
def not_found_error(error):
    print str(error)
@app.route('/v{}/ocr'.format(_VERSION), methods=["POST"])
def ocr():
    try:
        url = request.json['image_url']
        if 'jpg' in url:
            output = process_image(url)
            return jsonify({"output": output})
        else:
            return jsonify({"error": "only .jpg files, please"})
    except:
        return jsonify(
            {"error": "Did you mean to send: {'image_url': 'some_jpeg_url'}"}
        )
if not app.debug:
    file_handler = FileHandler('error.log')
    file_handler.setFormatter(
        Formatter('%(asctime)s %(levelname)s: \
            %(message)s [in %(pathname)s:%(lineno)d]')
    )
    app.logger.setLevel(logging.INFO)
    file_handler.setLevel(logging.INFO)
    app.logger.addHandler(file_handler)
    app.logger.info('errors')
if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)
В таком случае :
 :/home/flask_server# python app.py                                                                                                            
Traceback (most recent call last):                                                                                                                                          
  File "app.py", line 19, in <module>                                                                                                                                       
    @app.route('/v{}/ocr'.format(_VERSION), methods=["POST"])                                                                                                               
NameError: name '_VERSION' is not defined 
4kpt_IV
ну начнем с того, что так роуты генерить нельзя!!!

Попробуйте простой роут

 # 
@app.route('/v/ocr', methods=["POST"])

Работает?
malikk
 :/home/flask_server# python app.py
  File "app.py", line 21
    if not app.debug:
     ^
SyntaxError: invalid syntax
В общем плоховато так, когда сам не понимаешь)).
4kpt_IV
Вы где-то ошиблись с отсупом. Покажите полностью весь код
FishHook
Вы имеете ввиду так?:
странно, что можно не понять во фразе
errorhandler'a ничего не возвращают…
они же у тебя ничего не возвращают. Понимаешь, что значит возврат значения из функции?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB