2012-02-28 4 views
3

저는 피라미드의 초보자입니다.설치하지 않고 pserve를 사용하여 Pyramid 앱을 배포하는 방법은 무엇입니까?

프로덕션 서버에 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'을 입력하지 않으면 작동하지 않습니다. 이렇게하려면 코드를 작성하면 작동 할 수 있지만 사용 권한 때문에 수행하고 싶지 않습니다.

누군가에게 의견이 있습니까?

답변

5

좋아, 당신의 최선의 방법은 virtualenv 설정을 활성화하고 해당 virtualenv에 응용 프로그램을 설치하고에 setuptools에 /의 distutils를 사용하는 옵션이 있습니다 게다가 것을

:-) 거기에서 그것을 실행하는 것입니다 여기에 언급 된 바와 같이 easy_install을 위해 --user 인수를 사용하여 로컬 사용자 폴더에 설치 : http://docs.python.org/install/index.html

를하지만 심각,

+0

감사합니다. 나는이 옵션을 몰랐다. virtualenv 사용을 고려합니다. (이것에 대해서는 알고 있었지만 그것을 사용하고 싶지는 않습니다.) 배포 스크립트를 다시 작성해야합니다. –

4

:-) VIRTUALENV 사용 중 하나 VIRTUALENV에 응용 프로그램을 설치하거나하는 줘야 python setup.py develop를 사용 프로젝트를 파이썬 환경 (virtualenv 또는 호출 한 파이썬에 따라 시스템)에 연결합니다. 이것은 python setup.py install보다 바람직합니다. 소스를 관리 가능한 위치에 유지하고 정적 리소스가 설치된 번들에 있는지 확인하기 위해 매니페스트 파일에 대해 걱정할 필요가 없기 때문입니다.

관련 문제