我在PyCharm 5.0.4中运行一个python应用程序,我得到了一个错误:
C:\Users\xxx\AppData\Local\Programs\Python\Python35-32\python.exe C:\Users\xxx\AppData\Local\Programs\Python\Python35-32\python.exe C:/Users/xxx/PycharmProjects/xxxxx/run.py
File "C:\Users\pli\AppData\Local\Programs\Python\Python35-32\python.exe", line 1
SyntaxError: Non-UTF-8 code starting with '\x90' in file C:\Users\pli\AppData\Local\Programs\Python\Python35-32\python.exe on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Process finished with exit code 1
我的python版本是3.5.1。但是我可以从CMD运行python代码。我在想,这是否是因为配置,因为python.exe中不应该有这样的错误。
代码是常见的Flask web应用程序代码:
# -*- coding: utf-8 -*-
import datetime
from flask import g, session, request, make_response
from flask_sqlalchemy import SQLAlchemy
from app.users.models import User, UserSession
from app import app, db
@app.before_request
def before_request():
g.user = None
if session.get('user_id'):
user = User.query.filter_by(id=session.get('user_id')).first()
g.user = user
....
发布于 2016-02-27 18:00:50
问题在于运行/调试配置中的“解释器选项”。我在“解释器选项”中发现了"C:\Users\xxx\AppData\Local\Programs\Python\Python35-32\python.exe".但这不是合法命令。
为了解决这个问题,我打开了“”->“运行/调试配置”->将“解释器选项”设置为空,一切正常。
发布于 2016-02-27 11:29:31
因此,对于那些不懂中文的人,(一个自删除的答案)建议为文件定义源代码编码。
如果您足够仔细地阅读错误,PyCharm将告诉您解决此问题所需的一切:
C:\Users\pli\AppData\Local\Programs\Python\Python35-32\python.exe :在第1行的文件SyntaxError中以'\x90‘开头的非UTF-8代码,但没有声明编码;有关详细信息,请参见 http://python.org/dev/peps/pep-0263/
现在,正如佩普0263中所述
如果没有其他编码提示,Python将默认为ASCII作为标准编码.要定义源代码编码,必须将一个神奇的注释作为文件中的第一行或第二行放在源文件中。
您是否尝试过贴上一条神奇的注释,口述源代码,如:
# -*- coding: utf-8 -*-
...
我记得以前遇到过同样的问题,并且定义源代码编码立即为我解决了这个问题。
发布于 2019-08-28 16:16:51
我也有过类似的问题。但在我的例子中,我错误地选择了Python.exe路径,而不是“脚本路径”。
在看到上面的截图后,我明白脚本路径应该是我们正在运行的当前脚本。修好了它就起作用了。在这里输入图像描述
https://stackoverflow.com/questions/35668967
复制相似问题