问题:如何解决在windows上执行virtualenv中的no-ascii字符错误?
描述:我正试图在windows的virtualenv里执行pserve(pyllons / pyramid development web server)。 这是一个全新的安装,所以也许它与版本有关。
问题:激活virtualenv后,执行pserve config.ini
throw error: SyntaxError: Non-ASCII character '\x90' in file C:\PATH_TO_MY_ENV_HOME\env\Scripts\pserve.exe on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
SyntaxError: Non-ASCII character '\x90' in file C:\PATH_TO_MY_ENV_HOME\env\Scripts\pserve.exe on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
。
命令行:
pserve development.ini --reload
笔记:
testing完成:
环境:
解:
卸载并重新安装再次解决了我的问题。
而不是encoding
我只是使用coding
(似乎不需要-*-
)。 几乎所有我写的python脚本都是从下面开始的:
#coding: utf-8
我在Windows 10上使用Python 2.7.10
我没有真正的答案,因为我不使用金字塔或Windows。 但是,这已经被少数人看到了,可能是由于python.exe
被用来执行pserve.exe
,因为这不是可执行文件而不是Python程序。
这里有一些链接可能会推动这一进展 – 建议您加入Google集团,因为它有更集中的金字塔专业知识:
金字塔pserve.exe语法错误
Google网上论坛线程
谷歌搜索
一个具体的想法是确保你有一个pserve.py
文件而不是pserve.exe
,并且你使用python pserve.py
来运行它。 如果调用脚本有限制,请创建一个run-pserve.bat
批处理文件来调用Python并在调用脚本之外对其进行测试。
或者,您可能希望在Windows上使用预配置的Linux VM。 或者在Windows 10上,有一个很好的“Windows的Bash”,也就是Linux的Windows子系统,这真的是一个完整的Ubuntu Linux。 这两者中的任何一个都会比Windows更容易开发,我想。
假设你的virtualenv
坐在venv
目录下
用这个:
python venv/Lib/site-packages/pyramid/scripts/pserve.py some-ini-config.ini --reload