そのときの記録。
- 環境
- Pyramidのインストール
- Pyramid Project の作成
- 運用
MacOS 10.8.2
Python 2.7.3 (MacPortsでインストールしたものを使用する)
MySQL 5.5.28 (MacPortsでインストールしたものを使用する)
py27-pip 1.2.1 (MacPortsでインストールしたものを使用する)
Apache 2.2.7 (標準でインストールされているもの)
(mod_wsgiはソースを落としてきてインストール)
Python 2.7.3 (MacPortsでインストールしたものを使用する)
MySQL 5.5.28 (MacPortsでインストールしたものを使用する)
py27-pip 1.2.1 (MacPortsでインストールしたものを使用する)
Apache 2.2.7 (標準でインストールされているもの)
(mod_wsgiはソースを落としてきてインストール)
virtualenvで環境を作って、そこにPyramidをインストールする。アプリごとに環境を作る?
$ sudo pip install virtualenv $ sudo pip install virtualenvwrapper $ virtualenv --no-site-packages env_pyramid $ cd env_pyramid $ bin/pip install pyramid
$ bin/pcreate -s starter MyProject
$ cd MyProject $ ../bin/python setup.py develop
$ ../bin/python setup.py test -q
$ ../bin/pserve development.iniで、http://localhost:6543に表示される。
参考にしたのはここ。
Creating a Pyramid Project
pyramid.wsgiは、~/env_pyramid/へ。その内容はこれ。
modwsgi.confは、/etc/apache2/other/へ。
from pyramid.paster import get_app, setup_logging ini_path = '/Users/me/env_pyramid/MyProject/production.ini' setup_logging(ini_path) application = get_app(ini_path, 'main')
modwsgi.confは、/etc/apache2/other/へ。
WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On # env_pyramid WSGIDaemonProcess pyramid user=me group=staff threads=4 \ python-path=/Users/me/env_pyramid/lib/python2.7/site-packages WSGIScriptAlias /myproject /Users/me/env_pyramid/pyramid.wsgi <Directory /Users/me/env_pyramid> WSGIProcessGroup pyramid Order allow,deny Allow from all </Directory>
で、http://localhost/myprojectに表示される。
参考にしたのはここ。
Running a Pyramid Application under mod_wsgi
modwsgi.confの内容については調べてください。
参考にしたのはここ。
Running a Pyramid Application under mod_wsgi
modwsgi.confの内容については調べてください。
P.S.
2014.01.24
複数のアプリを置く場合は、こうするようです。
mod_wsgi.conf にこんな感じで追加していきます。
複数のアプリを置く場合は、こうするようです。
mod_wsgi.conf にこんな感じで追加していきます。
# env_seconds WSGIDaemonProcess pyramid_env_parts user=me group=staff threads=4 \ python-path=/Users/me/env_second/lib/python2.7/site-packages WSGIScriptAlias /second /Users/me/env_second/pyramid.wsgi <Directory /Users/me/env_second> WSGIProcessGroup pyramid_env_second Order allow,deny Allow from all </Directory>
WSGIDaemonProcess pyramid_env_parts の「pyramid_env_parts」と <Directory> の中にある WSGIProcessGroup pyramid_env_second の「pyramid_env_parts」を一致させます。
これを重複の無いようにして増やしていきます。
2014.01.23
こうすると、site-packages を引き継ぐことができます。
ただし、pyramid がすでにインストールしてあると、「Requirement already satisfied」とか言われてしまうので、これ。
いろいろ問題が出そうなので、virtualenv --no-site-packages のほうが良さそう。
こうすると、site-packages を引き継ぐことができます。
$ virtualenv --system-site-packages env_parts
ただし、pyramid がすでにインストールしてあると、「Requirement already satisfied」とか言われてしまうので、これ。
$ bin/pip install --upgrade pyramid
いろいろ問題が出そうなので、virtualenv --no-site-packages のほうが良さそう。
0 件のコメント:
コメントを投稿