1

我面临的问题是,每当我对我的 Python 代码进行更改时,例如在文件中__init__.pyviews.py文件中,它们都不会立即反映在服务器上。我正在使用 Apache+mod_wsgi 运行服务器,因此所有守护进程和虚拟主机都配置正确。

我发现setup.py每次都必须运行才能进行新的更改。这是金字塔的工作原理还是我遗漏了一些东西。不应该提供更新的文件而不是旧的文件。

4

2 回答 2

4

使用 mod_wsgi 以外的东西来开发 Python WSGI 应用程序通常要容易得多(mod_wsgi 捕获 stdout 和 stderr,这使得使用 pdb 之类的东西变得很棘手)。

Pyramid 脚手架生成的代码允许您执行“pserve development.ini”之类的操作来启动服务器。如果您使用它而不是 mod_wsgi 进行开发,您可以执行“pserve development.ini --reload”,您对 Python 源代码的更改将立即反映。

这并不意味着您不能使用 mod_wsgi 在生产中为您的应用程序提供服务。完成开发后,您可以将您的应用程序放入 mod_wsgi 中,以获得其生产优势。

于 2012-08-30T18:56:31.260 回答
2

关于 mod_wsgi 中代码重载的工作原理,请阅读:

http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

于 2012-08-30T07:44:17.050 回答