[英]SyntaxError in python.exe on PyCharm 5.0.4
我在PyCharm 5.0.4中運行python Web應用程序,出現錯誤:
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中不應出現此類錯誤。
https://s14.postimg.org/ren7faib5/Screenshot_2016_02_27_13_06_01.png
該代碼是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
....
因此,對於那些不懂中文的人,(建議刪除該答案)建議為該文件定義源代碼編碼。
如果您足夠仔細地閱讀了該錯誤,PyCharm會告訴您解決此問題所需的一切:
SyntaxError:第1行的C:\\ Users \\ pli \\ AppData \\ Local \\ Programs \\ Python \\ Python35-32 \\ python.exe文件中以'\\ x90'開頭的非UTF-8代碼,但未聲明編碼; 有關詳細信息,請參見http://python.org/dev/peps/pep-0263/
現在,如PEP 0263中所述 :
如果未給出其他編碼提示,則Python將默認使用ASCII作為標准編碼。要定義源代碼編碼,必須在源文件中放置魔術注釋作為文件的第一行或第二行。
您是否嘗試過在魔術注釋中注明源代碼,例如:
# -*- coding: utf-8 -*-
...
我記得在遇到同樣的問題之前,定義源代碼編碼立即為我解決了這個問題。
我有一個類似的問題。 但是以我為例,我選擇了Python.exe路徑來代替“腳本路徑”。
看完上面的屏幕截圖后,我了解腳本路徑應該是我們正在運行的當前腳本。 修復了這個問題,它起作用了。 在此處輸入圖片說明
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.