【发布时间】:2019-06-14 17:35:35
【问题描述】:
我正在使用 Pyramid Web 框架构建一个应用程序,在所有文档中,它假定您将使用 setup.py 将应用程序安装为鸡蛋。虽然这对于可分发的包来说是有意义的,但它会为不打算作为库或扩展共享的应用程序增加大量开销和不必要的打包代码。
Pyramid 使用 PasteDeploy 读取应用程序配置文件 (.ini) 并需要一个部分来定义要运行的应用程序:
[app:blog]
use = egg:MyBlog#main
database = mysql://localhost/blogdb
blogname = This Is My Blog!
这告诉应用加载程序导入在PYTHONPATH 上找到的名为MyBlog 的库,并使用在setup.py 配置中定义的名为main 的入口点。
有没有办法通过路径直接引用应用程序并指定WSGI入口点(类似于您直接通过以下方式运行应用程序:
cd /path/to/MyBlog
gunicorn --bind etc... app:main
还有一个以call: 开头的附加语法,允许您指定尚未向setuptools 注册的入口点:
[app:mythirdapp]
use = call:my.project:myapplication
但是,加载器似乎仍然希望在 python 路径上安装一个包,而不是一个裸 python 包/可执行文件。
【问题讨论】:
标签: python web-applications pyramid