1

我们正在使用 PasteScript 和 PasteDeploy 来启动我们的 python 服务。在我们从 Python2.6 迁移到 Python2.7 之前,一切都很好。

PasteScript = 1.7.5,PasteDeploy = 1.5.0

# Launch
$ paster serve --reload conf/dev.ini
  Starting subprocess with file monitor

把一些debug语句放到paster中后,我们发现入口在serve.py

# In serve.py        
def command(self) 
    ...
    app = self.loadapp(app_spec, name=app_name,
                           relative_to=base, global_conf=vars)
    ...
# In deploy.py
def loadapp(uri, name=None, **kw):
    return loadobj(APP, uri, name=name, **kw)

def loadobj(object_type, uri, name=None, relative_to=None, global_conf=None):
    print "I see this"
    context = loadcontext(object_type,uri, name=name, 
                  relative_to=relative_to, global_conf=global_conf)
    print "I do not see this"
    return context.create()

该过程只是在 loadcontext 调用处终止,没有错误。我用 Python2.6 做了同样的练习,它按预期工作。所以我假设我的 PasteScript 和 PasteDeploy 与 Python2.7 不兼容,但由于网站没有说明兼容性,因此无法确认。

有人可以帮忙吗?谢谢。

4

1 回答 1

0

回答我自己的问题。

几个问题:

1) 由于未安装“请求”模块,Paster 失败。有趣的是,Paster 并没有抛出任何错误,而是默默地死了。

2)所以我尝试安装“请求”,但也失败了,没有具体错误。刚刚说 InstallationError: egg_pkg_info failed

我们猜测可能是 64 位 Cygwin 搞砸了。所以继续在 32 位 Cygwin 上执行相同的练习。一切都按预期工作。所以说到底,它既不是 Paster 也不是 Python。

于 2013-09-24T22:20:04.400 回答