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



我是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",它就无法工作。如果我写代码来做这件事,它可能会起作用,但由于权限的原因,我不想这么做。

有人有什么建议吗?

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

此外,还有一些选项可以使用setuptools/distutils,通过使用--user参数easy_install安装到本地用户文件夹中,如下所示:http://docs.python.org/install/index.html

但说真的,使用virtualenv:-)

将应用程序安装到虚拟环境中,或者使用python setup.py develop将您的项目链接到python环境(虚拟环境或系统,具体取决于您调用的python)。这通常比python setup.py install更可取,因为它将源代码保存在一个可管理的位置,并且不需要担心清单文件以确保静态资源位于已安装的捆绑包中。

相关内容

  • 没有找到相关文章

最新更新