2013年5月14日火曜日

Python Pyramid

Python Pyramid をインストールする。

  • pip のインストール
  • $ sudo easy_install pip
    
  • Pyramidのインストール
  • virtualenvで環境を作って、そこにPyramidをインストールする。
    $ sudo pip install virtualenv
    $ sudo pip install virtualenvwrapper
    $ virtualenv --no-site-packages env_pyramid
    $ cd env_pyramid
    $ bin/pip install pyramid
    

  • Pyramid Project の作成
  • $ bin/pcreate -s starter MyProject
    
    $ cd MyProject
    $ ../bin/python setup.py develop
    $ ../bin/python setup.py test -q
    $ ../bin/pserve development.ini
    で、http://192.168.0.202:6543に表示される。
    参考にしたのはここ。
    Creating a Pyramid Project

  • 運用
  • pyramid.wsgiは、~/env_pyramid/へ。その内容はこれ。
    from pyramid.paster import get_app, setup_logging
    ini_path = '/home/pi/env_pyramid/MyProject/production.ini'
    setup_logging(ini_path)
    application = get_app(ini_path, 'main')
    

    1. mod_wsgi のインストール
      $ sudo apt-get install libapache2-mod-wsgi
      
      これをしたところ、python2.6 のモジュールがいろいろ入ってしまったので、remove する。
      $ sudo apt-get remove or autoremove ...
      libpython2.6 python2.6 python2.6-minimal
      libapache2-mod-wsgi libpython2.6 python2.6 python2.6-minimal
      

      $ sudo apt-get install libapache2-mod-wsgi
      
    2. 別の記述で mod_wsgi をインストールする
      ここに書いてある方法でやってみる。upgrade は大変時間がかかる。
      Apache and mod_wsgi on Debian 6 (Squeeze)
      $ sudo apt-get update
      $ sudo apt-get upgrade
      $ sudo apt-get install apache2 python-setuptools libapache2-mod-wsgi
      
      残念ながら、これも python2.6 をインストールしようとするのでやめる。
    3. ソースからインストールしてみる
      Download: mod_wsgi-3.4 - Source Code Archive」からソースをダウンロードする。
      $ tar xzvf mod_wsgi-3.4.tar.gz
      $ cd mod_wsgi-3.4/
      
      $ ./configure
      apxs: command not found と言われるので中止。apache2-dev をインストールしないとだめ?
    4. 最初の方法でやってみる
      $ sudo apt-get install libapache2-mod-wsgi
      $ sudo a2enmod wsgi
      
      $ sudo service apache2 reload

      config の修正をする。
      /etc/apache2/mods-available/wsgi.conf の最後の方の「</IfModule>」の手前にこれを追加する。
      WSGIApplicationGroup %{GLOBAL}
      WSGIPassAuthorization On
      WSGIDaemonProcess pyramid user=pi group=pi threads=4 \
         python-path=/home/pi/env_pyramid/lib/python2.7/site-packages
      WSGIScriptAlias /myproject /home/pi/env_pyramid/pyramid.wsgi
      
      <Directory /home/pi/env_pyramid>
        WSGIProcessGroup pyramid
        Order allow,deny
        Allow from all
      </Directory>
      

      もう一度。
      $ sudo service apache2 reload
      

      http://192.168.0.202/myproject」でPyramidの画面が表示される。


    ここも参考にした。
    Running a Pyramid Application under mod_wsgi
    modwsgi.confの内容については調べてください。

0 件のコメント:

コメントを投稿