我已经使用pcreate创建了一个金字塔应用程序,现在当我尝试使用带有--reload的pserve运行它时,出现以下错误

 SyntaxError: Non-ASCII character '\x90' in file <path>\pserve.exe on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details


有趣的是,仅当我使用--reload时,才会显示此错误,如果删除reload,它将开始正常。

调试后,我在pserve.exe的同一位置看到另一个文件pserve-script.py,此python脚本由pserve.exe在内部调用(我不明白为什么?当pserve本身是可执行文件时)

上面的pserve-script.py具有以下内容,我认为上面的错误是由于跟随shebang而引起的。

#!c:\<folder-path>\Scripts\python.exe
# EASY-INSTALL-ENTRY-SCRIPT: 'pyramid','console_scripts','pserve'
__requires__ = 'pyramid'
import re
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(
        load_entry_point('pyramid', 'console_scripts', 'pserve')()
    )

最佳答案

这是关于pserve重载器在低于1.8版本的Pyramid版本中编写的方式的问题,据我所知,我们(金字塔开发人员)尚未弄清发生这种情况的原因。

在Pyramid 1.8(刚刚发布了Alpha版本)中,我们转而使用hupper,它在Windows下应能更好地工作。

请使用以下方法安装:

pip install pyramid==1.8a1


看看问题是否消失!

关于python - Pyramid pserve.exe语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39675750/

10-12 03:25