sublime text与anaconda交互,踩坑预警
踩坑预警还有很多小问题的解决,刚开始总是这么难TAT。。。
注意:已经在windows下安装好anaconda3和sublime text3
一、sublime text中下载anaconda包
(1)View->“Show Console”,输入:Install Package Control
,回车安装。(之前如果安好了就跳过这一步)
(2)Preferences->Package Control->选择“Install Package”->在出现的搜索栏里输入:Anaconda,点击下载即可。安装成功如下图。
接下来就是如何避免出现DLL load failed while importing _multiarray_umath: 找不到指定的模块。!!
二、激活虚拟环境
在CMD中,不同的激活方式如下:
D:/Anaconda3/Scripts/activate.bat
D:\Anaconda3\condabin\conda activate D:\Anaconda3
D:\Anaconda3\condabin\conda activate base
三、Anaconda插件配置
3.1 新建一个批处理文件
Anaconda安装位置:D:\Anaconda3
新建批处理文件位置:F:\pytemp\actENV.bat
新建批处理文件内容:
@call D:\Anaconda3\Scripts\activate.bat D:\Anaconda3
@python %1 %2 %3 %4 %5
四、配置环境
均在Preferences->Package Settings->Anaconda下进行配置
4.1 解释器路径
1、在Settings - Default里面进行设置。
2、将"python_interpreter": "F:/pytemp/actENV.bat"
改为刚刚新建的批处理文件的位置,保存
4.2 设置json格式
在Settings - User里进行设置。进行下列配置,第一行为2.1的路径。
{
"python_interpreter":"F:/pytemp/actENV.bat",
"suppresss_word_completions":true,
"suppress_explicit_completions":true,
"complete_parameters":true,
"swallow_startup_errors":true,
"anaconda_linting":false
}
第一行为批处理文件路径,倒数第一行解决警告,最后一行解决代码中出现白色框的问题。
五、配置Sublime Text3的Anaconda编辑环境
在Build System->New Build System,打开后缀.sublime-build文件。
在文件中写入:
{
"cmd": ["F:/pytemp/actENV.bat", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
第一行为批处理文件位置。保存并命名为Anaconda3.sublime-build,默认位置即可。此时在Tools-> Build System中出现Anaconda3,就选择这个编译环境,ctrl+b便可以运行python代码了。
如果需要中文显示:(主要是最后一行)
{
"cmd": ["D:/Anaconda3/python.exe", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "cp936"
}
六、anaconda下pip install xxx在sublime text中显示no module named xxx
直接pip install jieba
安装后在sublime text中会出现no such module的错误。以下方法可以解决这个问题。
1、执行anaconda search -t conda jieba
,查看jieba的可用库
2、选择版本,比如conda-forge/jieba 0.39,执行conda install -c conda-forge jieba=0.39
即可。
七、UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 40: illegal multibyte sequence
源代码:
s=open('my.txt').read()
改成:
with open('my.txt','rb') as f:
s=f.read()