Форум сайта python.su
0
Здравствуйте.
В программировании полнейший ноль, если не считать Бейсик на Спекртуме в молодости.
По ману установил. Видимо где-то напутал с путями.
После дернуло меня переустановить 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
Офлайн
221
Функция не вернула Response объект. Скорее всего у Вас ошибкп в коде. Нужо его смотреть. Возможно вызывающие скобки не поставили.
Офлайн
568
JOHN_16Тогда бы вернулась функция, ошибка была бы другая, скорее всего вьюха вообще ничего не возвращает.
Возможно вызывающие скобки не поставили.
Офлайн
0
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'}"} )
Офлайн
49
errorhandler'a ничего не возвращают…
Ну и app.route поставьте после errorhandler'ов
Офлайн
0
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
Офлайн
49
ну начнем с того, что так роуты генерить нельзя!!!
Попробуйте простой роут
# @app.route('/v/ocr', methods=["POST"])
Офлайн
0
:/home/flask_server# python app.py File "app.py", line 21 if not app.debug: ^ SyntaxError: invalid syntax
Офлайн
49
Вы где-то ошиблись с отсупом. Покажите полностью весь код
Офлайн
568
Вы имеете ввиду так?:странно, что можно не понять во фразе
errorhandler'a ничего не возвращают…они же у тебя ничего не возвращают. Понимаешь, что значит возврат значения из функции?
Офлайн