如何在没有安装的情况下使用pserve部署Pyramid应用程序?

Tak*_*ara 4 python paster 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
Run Code Online (Sandbox Code Playgroud)

但是如果没有安装输入'sudo python setup.py install',它就无法工作.如果我编写代码来执行此操作,它可能会工作但我不想因为权限而这样做.

有人有什么建议吗?

sup*_*een 5

好吧,你最好的选择是设置一个virtualenv,激活它,然后在virtualenv那里安装应用程序并从那里运行:-)

除此之外,还有使用setuptools/distutils安装到本地用户文件夹的选项,方法是使用--usereasy_install 的参数,如下所示:http://docs.python.org/install/index.html

但严重的是,使用virtualenv :-)