gpt4 book ai didi

python - 非 ASCII 字符 '\x90' 在 vi​​rtualenv 中的 windows 上执行 pserve

转载 作者:太空狗 更新时间:2023-10-29 21:59:21 24 4
gpt4 key购买 nike

问题:如何解决在 Windows 中的 virtualenv 上执行 pserve 时出现的 no-ascii 字符错误?

描述: 我正在尝试在 Windows 的 virtualenv 中执行 pserve(pyllons/pyramid 开发网络服务器)。这是全新安装,所以可能与版本有关。

问题: 激活 virtualenv 后,执行 pserve config.ini 抛出错误:SyntaxError: Non-ASCII character '\x90' in file C:\PATH_TO_MY_ENV_HOME\env\Scripts\pserve.exe 在第 1 行,但没有声明编码;有关详细信息,请参阅 http://python.org/dev/peps/pep-0263/

命令行:

pserve development.ini --reload

注意事项:

  1. 当您的文件包含与当前文件编码不匹配的字符时会发生此错误,因此您可以添加一条指令以在 python 脚本的开头设置正确的编码。
  2. 如果被调用的目标在某些情况下有一个 exe 扩展名,并且调用它的脚本在末尾添加一个 exe,就会发生这种情况。因此,python 运行时会抛出此错误,因为 exe 文件不能作为脚本调用,而只是在不添加后缀的情况下调用。
  3. 可执行文件的路径不包含特殊字符。

完成的测试:

  1. 从 pserve 中删除 exe 扩展。无效:无法识别命令消息。
  2. 调用 pserve-script.py 而不是 pserve(也尝试了完整路径)。无效:什么都不做,什么也不返回。
  3. 在 pserve-script.py 的开头添加了“-*- 编码:utf-8”。同样的信息。
  4. 从 python.exe 中删除 exe 扩展(也尝试了完整路径)。没用:“创建进程失败”。

环境:

  • Windows 10 1607 内部版本 14393.447
  • Python 版本:Anaconda2,Python 2.7.11
  • Pyramid 版本:pyramid 1.7.3
  • 虚拟环境:15.1.0

解决方案:

卸载并重新安装解决了我的问题。

最佳答案

我在这里真的没有答案,因为我既不使用 Pyramid 也不使用 Windows。然而,这已经被一些人看到过,可能是由于 python.exe 被用来执行 pserve.exe,因为它是一个可执行文件,所以它不会工作不是 Python 程序。

以下是一些可能会插入这一进程的链接 - 建议您加入 Google Group,因为它具有更集中的 Pyramid 专业知识:

一个具体的想法是确保您有一个 pserve.py 文件而不是 pserve.exe 并且您使用 python pserve.py 来运行。如果调用脚本有限制,创建一个 run-pserve.bat 批处理文件来调用 Python 并在调用脚本之外对其进行测试。

或者,您可能希望在 Windows 上使用预配置的 Linux VM。或者在 Windows 10 上有一个很好的“Bash for Windows”又名 Windows Subsystem for Linux那真的是一个完整的 Ubuntu Linux。我认为,其中任何一个都比 Windows 更容易开发。

关于python - 非 ASCII 字符 '\x90' 在 vi​​rtualenv 中的 windows 上执行 pserve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41029001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com