0

development.ini でホストされている場合は問題なく動作するピラミッド プロジェクトがありますが、production.ini を使用するとすぐに、ブラウザーに次のエラーが表示されます。

Internal Server Error
The server encountered an unexpected internal server error
(generated by waitress)

そして、このログインターミナル:

Starting subprocess with file monitor
Starting server in PID 5912.
serving on http://0.0.0.0:6543
2014-05-26 16:54:23,139 ERROR [waitress][Dummy-2] Exception when serving /
Traceback (most recent call last):
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/waitress-0.8.9-py2.7.egg/waitress/channel.py", line 337, in service
    task.service()
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/waitress-0.8.9-py2.7.egg/waitress/task.py", line 173, in service
    self.execute()
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/waitress-0.8.9-py2.7.egg/waitress/task.py", line 392, in execute
    app_iter = self.channel.server.application(env, start_response)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/router.py", line 242, in __call__
    response = self.invoke_subrequest(request, use_tweens=True)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/router.py", line 217, in invoke_subrequest
    response = handle_request(request)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/tweens.py", line 21, in excview_tween
    response = handler(request)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid_tm-0.7-py2.7.egg/pyramid_tm/__init__.py", line 82, in tm_tween
    reraise(*exc_info)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid_tm-0.7-py2.7.egg/pyramid_tm/__init__.py", line 63, in tm_tween
    response = handler(request)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/router.py", line 163, in handle_request
    response = view_callable(context, request)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/config/views.py", line 377, in rendered_view
    context)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/renderers.py", line 418, in render_view
    return self.render_to_response(response, system, request=request)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/renderers.py", line 441, in render_to_response
    result = self.render(value, system_values, request=request)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/renderers.py", line 421, in render
    renderer = self.renderer
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/decorator.py", line 37, in __get__
    val = self.wrapped(inst)
  File "/home/roman/Critical_ID/CCG_Map/local/lib/python2.7/site-packages/pyramid/renderers.py", line 404, in renderer
    'No such renderer factory %s' % str(self.type))
ValueError: No such renderer factory .mak

sqlalchemy.url.ini ファイルのセクションのmako.directories下にコピーしました[app:main]が、このエラーの原因がわかりません。

サーバーを次のように起動します。../bin/pserve/production.ini --reload

私は何が欠けていますか?

4

1 に答える 1

2

これは、Pyramid の最新バージョンがデフォルトで Mako のテンプレート エンジンを必要としない/インストールしないためです。このエラーを修正するには、ここに記載されているよう、次の 2 つのことを行う必要があります。

  1. pyramid_makoパッケージがインストールされていることを確認します。install_requiresこれを行う1つの方法は、パッケージのsetup.pyファイルのセクションに「pyramid_mako」を追加し、その後再実行することですsetup.py develop:

    setup(
        #...
        install_requires=[
            'pyramid_mako',         # new dependency
            'pyramid',
            #...
        ],
    )
    
  2. Pyramid Configurator (多くの場合、main()プロジェクトの__init__.pyファイル内の関数) をインスタンス化するアプリケーションの部分内で、Pyramid にpyramid_makoincludemeを含めるように指示します。

    config = Configurator(.....)
    config.include('pyramid_mako')
    
于 2014-05-26T17:24:59.490 に答える