5

ピラミッド初心者です。

Pyramid を本番サーバーにデプロイしたいと考えています。これを行うために Capistrano を使用したデプロイ スクリプトがあります。

set :pid_path, "/var/lib/#{application}"
set :log_path, "/var/log/#{application}"

namespace :deploy do

    task :restart, :roles => :app do
    end

    task :finalize_update, :roles => :app do
        run "cd #{release_path} && python setup.py build"
        %w[ 5000 5001 ].each do |port|
            run "if [ -f #{pid_path}/#{port}.pid ]; then paster serve --stop-daemon --pid-file=#{pid_path}/#{port}.pid; fi"
            run "paster serve --daemon --pid-file=#{pid_path}/#{port}.pid --log-file=#{log_path}/paster.log #{release_path}/production.ini http_port=#{port}"
        end
    end

end

ただし、「sudo python setup.py install」と入力してインストールしないと機能しません。これを行うためのコードを書くとうまくいくかもしれませんが、権限のためにやりたくありません。

誰か提案はありますか?

4

2 に答える 2

5

わかりました、あなたの最善の策は、をセットアップしてvirtualenvアクティブ化し、その中にアプリケーションをインストールしてvirtualenvそこから実行することです:-)

--userそれに加えて、ここで説明されているように、easy_install への引数を使用して setuptools/distutils を使用してローカル ユーザー フォルダーにインストールするオプションがあります: http://docs.python.org/install/index.html

しかし、真剣に、virtualenv を使用してください :-)

于 2012-02-28T10:54:48.720 に答える
4

アプリケーションを virtualenv にインストールするかpython setup.py develop、プロジェクトを python 環境 (呼び出した python に応じて virtualenv または system) にリンクするものを使用します。python setup.py installこれは、ソースを管理しやすい場所に保持し、静的リソースがインストールされたバンドルに含まれていることを確認するためにマニフェスト ファイルについて心配する必要がないため、通常は望ましい方法です。

于 2012-02-29T02:23:48.010 に答える