Как развернуть приложение Pyramid с помощью pserve без установки? - PullRequest
3 голосов
/ 28 февраля 2012

Я новичок в 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'.Если я напишу код для этого, он может работать, но я не хочу делать это из-за разрешений.

Есть ли у кого-нибудь предложения?

Ответы [ 2 ]

5 голосов
/ 28 февраля 2012

Хорошо, вам лучше всего установить virtualenv, активировать его, а затем установить приложение в этом virtualenv и запустить его оттуда: -)

Кроме того, есть опции использования setuptools / distutils для установки в локальную папку пользователя с помощью аргумента --user для easy_install, как указано здесь: http://docs.python.org/install/index.html

А если серьезно, используйте virtualenv: -)

4 голосов
/ 29 февраля 2012

Либо установите приложение в virtualenv, либо используйте python setup.py develop, который свяжет ваш проект со средой python (virtualenv или системой, в зависимости от того, какой python вы вызывали). Обычно это предпочтительнее, чем python setup.py install, поскольку он сохраняет ваш источник в управляемом месте и не требует от вас беспокоиться о файлах манифеста, чтобы убедиться, что ваши статические ресурсы находятся в установленном пакете.

...