Pyramid pserve.exe syntax error

雨燕双飞 提交于 2019-12-12 22:23:42

问题


I have created a pyramid application using pcreate, now when I try to run it using pserve with --reload, I get following error

 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

Interestingly this error shows up only when I use --reload, if I remove reload it starts fine.

After debugging, I see another file pserve-script.py at the same location of pserve.exe and this python script is internally called by pserve.exe ( I don't understand why? when pserve itself is executable)

The above pserve-script.py has following content and I assume the above error is because of following 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')()
    )

回答1:


This is an issue with the way the pserve reloader is written in Pyramid versions less than 1.8, as far as I know, we (Pyramid developers) haven't figured out a reason why this happens.

In Pyramid 1.8 (which just had an alpha version released) we moved to using hupper which should work much better under Windows.

Please install it using:

pip install pyramid==1.8a1

And see if the issue disappears!



来源:https://stackoverflow.com/questions/39675750/pyramid-pserve-exe-syntax-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!