我已经使用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/