前期准备
1. 下载安装完整的 Anaconda:
2. 下载安装完整的 Sublime Text3:
3. 发现问题:
在安装完 Anaconda 以后,需要在系统环境变量 path 里面添加其安装目录,形如:C:\Users\Anaconda3,然后在 Windows cmd 命令行中,输入 python,会出现以下提示:
Warning: This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see Managing environments
此时若输入 import numpy as np 会出错,这是因为 conda environment 没有激活。
这个问题,是困扰后面 Sublime Text 融合 Anaconda python 编译环境的直接原因,先看这里怎么解决:
需要用如下方式在命令行里激活 conda 环境,并使用 && 同时进入 python 编译:
C:\Users>CALL conda.bat activate && python
可以发现,这样无缝进入了 conda environment 下的 python,可以使用各种包了!上面的命令是下面 Sublime Text 无缝融合 anaconda 的解药。
4. Sublime Text 默认的 python 编译系统
Sublime Text 默认的 python 编译系统,可以通过在界面下,依次,Tool—>Build System—>Python选定,不过这样会面临和上面一样的问题:不激活 conda enviroment 就无法调用各种如 numpy 这样的包。
至于原因嘛,需要观察Sublime Text 默认的 python 编译系统配置文件——Python.sublime-package(在安装目录的 packages 下,形如 E:\Program Files\Sublime Text 3\Packages),用记事本打开Python.sublime-package,然后 ctrl+f 搜索关键词:Python.sublime-build,找到如下内容:
{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
"variants":
[
{
"name": "Syntax Check",
"shell_cmd": "python -m py_compile \"${file}\"",
}
]
}
问题就出在第一行:”shell_cmd”:”python -u \”$file\””,其相当于直接在 cmd 里面输入 python,那结果就是得到一个未激活 conda environment 的 python 环境,所以知道这个原因,解决方案就有了,看第 5 条。
5. Sublime Text 自定义编译系统
Sublime Text 界面下 依次,Tool—>Build System—>New Build System,此时会自动生成一个名为:untitled.sublime-build文件,内容为:
现在需要把内容修改为:
(仅仅需要修改第一行)
{
"shell_cmd": "CALL conda.bat activate && python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
"variants":
[
{
"name": "Syntax Check",
"shell_cmd": "python -m py_compile \"${file}\"",
}
]
}
保存文件,随便起个好辨识的名字例如,CondaPython.sublime-build
最后在界面下,依次Tool—>Build System—>CondaPython。OK!!!
现在可以使用融合了 Anaconda 的 sublime Text 了,在 Sublime 中新建一个 python 文件,试试看:
import numpy as np
import matplotlib.pyplot as plt
a=np.linspace(1,10,100)
b=np.sin(a)
plt.plot(a,b)
plt.show()
Tool—>Build 或者执行快捷键:Ctrl+B,弹出的框(仅弹出第一次)中选择:CondaPython。
然后恭喜你看到了如下内容:
ALL DONE!
https://zhuanlan.zhihu.com/p/289860842?ivk_sa=1024320u