首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PasteDeploy管道的金字塔脚本不工作

使用PasteDeploy管道的金字塔脚本不工作
EN

Stack Overflow用户
提问于 2013-09-18 14:38:16
回答 1查看 730关注 0票数 1

你好这是我的新麻烦..。我正在使用金字塔,我创建了一个脚本来填充我的数据库中的初始数据

我有一个具有以下语法的PasteDeploy配置文件(例如development.ini)

代码语言:javascript
复制
###
# app configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html
###

[app:shop_eshop]
use = egg:shop_eshop

pyramid.reload_templates = true
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.default_locale_name = en
pyramid.includes =
    pyramid_debugtoolbar
    pyramid_tm

sqlalchemy.url = postgresql://eshop_db_user:testtest@localhost:5432/eshop_db

jinja2.directories = eshop:templates

ziggurat_foundations.model_locations.User = auth.models:User

# SESSION_BEAKER
session.type = file
session.data_dir = %(here)s/data/sessions/data
session.lock_dir = %(here)s/data/sessions/lock
session.key = s_key
session.secret = ...FBIRootAccessPW...
session.cookie_on_exception = true


[filter:fanstatic]
use = egg:fanstatic#fanstatic
recompute_hashes = false
versioning = true
bottom = True

publisher_signature = assets
compile = true
#in development
debug = true

[pipeline:main]
pipeline = fanstatic eshop

[server:main]
use = egg:waitress#main
host = 0.0.0.0
port = 6543

###
# logging configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html
###

[loggers]
keys = root, shop_eshop, sqlalchemy

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = INFO
handlers = console

[logger_shop_eshop]
level = DEBUG
handlers =
qualname = shop_eshop

[logger_sqlalchemy]
level = INFO
handlers =
qualname = sqlalchemy.engine

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s

我的脚本包含了生成错误的代码。

代码语言:javascript
复制
def main(argv=sys.argv):
    if len(argv) < 2:
        usage(argv)
    config_uri = argv[1]
    options = parse_vars(argv[2:])

    setup_logging(config_uri)

    settings = get_appsettings(config_uri, options=options)
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)

    with transaction.manager:
        create_groups()
        create_users()

此错误由该行引发。

代码语言:javascript
复制
engine = engine_from_config(settings, 'sqlalchemy.')

如果删除管道,所有操作都正确,我就找不到读取管道的方法。

这是我的错误

代码语言:javascript
复制
Traceback (most recent call last):
File "/srv/michael/e_shop/env/bin/fill_e_shop_db", line 9, in <module>
load_entry_point('e_shop==0.0', 'console_scripts', 'fill_e_shop_db')()
File "/srv/michael/e_shop/e_shop/e_shop/scripts/filldb.py", line 98, in main
engine = engine_from_config(settings, 'sqlalchemy.')
File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/__init__.py", line 350, in engine_from_config
KeyError: 'url'

有什么建议吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-20 03:12:04

除非另有规定,get_appsettings()正在加载ini文件的main部分的设置。显然,该部分中没有设置。如果要加载特定部分的设置,则只需使用#指定设置即可。例如,您应该能够立即运行您的程序并获得您想要的结果:

代码语言:javascript
复制
myprog development.ini#shop_eshop
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18875209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档