新聞中心

站在用戶的角度思考問題,與客戶深入溝通,找到奉賢網(wǎng)站設(shè)計(jì)與奉賢網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋奉賢地區(qū)。
一、亂碼現(xiàn)象
利用Sublime自帶編譯快捷方式ctrl+B會出現(xiàn)中文亂碼的情況。
print("沒有循環(huán)數(shù)據(jù)!")
print("完成循環(huán)!")二、尋找原因
1、由于之前我已經(jīng)安裝了插件ConvertToUTF8,排除文本編碼錯誤問題。
2、相同的代碼在插件sublimerepl搭建的解釋器交互下(按F5鍵),能成功顯示中文。
在查找了很多案例之后發(fā)現(xiàn):
Anaconda插件安裝之后會自動生成一個(gè)叫“Anaconda python Builder”的編譯系統(tǒng),在 工具-編譯系統(tǒng)-中可以看到。
sublime讀取解釋器返回文本的編碼不一樣,于是通過下面這段代碼驗(yàn)證:
import sys print(sys.stdout.encoding)
用ctrl+B進(jìn)行編譯,返回的是“cp936”,用repl解釋器交互返回的是utf-8,說明是由于編碼不一致導(dǎo)致的。
之后新建了一個(gè)編譯系統(tǒng):
在Python3.sublime.build中寫入下面代碼:
{
"cmd":["C:\\Users\\jh\\Anaconda3\\python.exe", "-u", "$file"],
"path":"C:\\Users\\jh\\Anaconda3\\python.exe", // 注意:路徑根據(jù)自己的python安裝路徑而定
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8" ,
"env": {"PYTHONIOENCODING": "utf8"}//通過這句,使編碼一致,都是utf8
}之后再用ctrl+B進(jìn)行編譯,返回“utf-8”,并且能成功打印中文。
但是在此之前,因?yàn)閲L試多種方法,導(dǎo)致anaconda插件的自動補(bǔ)全代碼無法使用,于是重裝。
三、Anaconda插件的正確使用
1、閱讀官方指南,官方給的建議是最好每個(gè)項(xiàng)目都獨(dú)立設(shè)置。
2、根據(jù)官方的建議,新建一個(gè)project,并編輯項(xiàng)目,在sublime-project文件中寫入:
{
"build_systems":
[
{
"name": "Anaconda Python Builder",
"selector": "source.python",
"encoding": "utf-8" ,
"env": {"PYTHONIOENCODING": "utf8"},\\使編碼一致
"shell_cmd": "C:\\Users\\jh\\Anaconda3\\python.exe -u \"$file\"",\\解釋器路徑
}
],
"folders":
[
{
"follow_symlinks": true,
"path": "."
}
],
"settings":
{
"python_interpreter": "C:\\Users\\jh\\Anaconda3\\python.exe" \\解釋器路徑
}
}保存。
3、在Preferences>Package Settings>Anaconda,在那里會發(fā)現(xiàn)兩個(gè)不同的條目,Settings-Default和Settings-User分別選擇1和2。這些文件中的任何選項(xiàng)都必須放置在全局范圍內(nèi)。在Settings-User中寫入:
{ //http://damnwidget.github.io/anaconda/IDE/
//"python_interpreter":"C:\\Users\\jh\\Anaconda3\\envs\\tensorflow\\python.exe",
"python_interpreter":"C:\\Users\\jh\\Anaconda3\\python.exe",
"auto_python_builder_enabled": false,
"suppress_word_completions":true,//禁用掉Sublime Text原生的自動補(bǔ)全
"suppress_explicit_completions":true,
"complete_parameters":true,
"anaconda_linter_phantoms": true,//提示錯誤,識別代碼中的語法錯誤,代碼建議,格式建議等
"pyflakes_explicit_ignore"://告訴PyFlakes要忽視哪些警告
[
// "Redefined",
"UnusedImport"
// "UndefinedName",
// "UndefinedLocal",
// "UnusedVariable,",
// "UndefinedExport",
// "DuplicateArgument",
// "RedefinedWhileUnused"
],
"anaconda_linting_behaviour": "always",//模式
"anaconda_linting": true,
"anaconda_linter_delay": 2.0,//周期
"swallow_startup_errors": true,
"env": {"PYTHONIOENCODING": "utf8"} ,
}python學(xué)習(xí)網(wǎng),免費(fèi)的在線學(xué)習(xí)python平臺,歡迎關(guān)注!
本文名稱:創(chuàng)新互聯(lián)Python教程:sublimepython出現(xiàn)中文亂碼怎么辦
網(wǎng)址分享:http://fisionsoft.com.cn/article/ccchgoi.html


咨詢
建站咨詢
