PyCharm 5.0.4上python.exe中的SyntaxError

时间:2016-02-27 11:09:37

标签: python pycharm

我在PyCharm 5.0.4中运行python 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
....

我的python版本是3.5.1。但我可以从CMD运行python代码。我在想是否是因为配置因为python.exe中不应该出现这样的错误。

configure https://s14.postimg.org/ren7faib5/Screenshot_2016_02_27_13_06_01.png

代码是常见的Flask Web应用程序代码:

import {Component} from 'angular2/core';
@Component({
    selector: 'my-app',
    template: `<textarea #ta (blur)="mymodel=ta.value" [value]="mymodel"></textarea>
<br><br>
{{mymodel}}
`
})

export class AppComponent {
    public mymodel: any = "hello world";
    constructor() { }
}

3 个答案:

答案 0 :(得分:4)

问题在于&#34;解释器选项&#34;在运行/调试配置上。我找到了&#34;口译员选项&#34;是&#34; C:\ Users \ xxx \ AppData \ Local \ Programs \ Python \ Python35-32 \ python.exe&#34;。但这不是合法的命令。

所以要解决这个问题,我打开&#34;工具&#34; - &GT; &#34;运行/调试配置&#34; - &GT;设置&#34;口译员选项&#34;为了清空,一切正常。

enter image description here

答案 1 :(得分:0)

因此,对于那些不懂中文的人,(一个自删除的答案)建议为文件定义源代码编码。

如果您仔细阅读错误,PyCharm会告诉您解决此问题所需的一切:

  

SyntaxError:以&#39; \ x90&#39;开头的非UTF-8代码在第1行的文件C:\ Users \ pli \ AppData \ Local \ Programs \ Python \ Python35-32 \ python.exe中,但是没有声明编码;有关详细信息,请参阅http://python.org/dev/peps/pep-0263/

现在,如PEP 0263中所述:

  

如果没有给出其他编码提示,Python将默认为ASCII作为标准编码...要定义源代码编码,必须将魔术注释放在源文件中作为文件中的第一行或第二行。

你是否尝试过一个魔术评论来指示源代码,如:

# -*- coding: utf-8 -*-

...

我记得在遇到同样的问题之前,定义源代码编码立即为我解决了问题。

答案 2 :(得分:0)

我有一个类似的问题。但是以我为例,我选择了Python.exe路径代替“脚本路径”。

看到上面的屏幕截图后,我了解脚本路径应该是我们正在运行的当前脚本。修复了这个问题,它起作用了。 enter image description here