zoukankan      html  css  js  c++  java
  • Ubuntu 18.04下指定Sublime Text 3 默认python编译版本

    参见https://www.cnblogs.com/net66/p/5598383.html

    我ubuntu下有python的多个版本。有次,press ctrl+b,提示我选择版本,选了某贝尔版本,发现提示我要装yaml等一些库。先前的python是anaconda下的python,yaml等库都已经有了。

    当然可以在编译系统里增加一个专门针对.py进行编译的命令,但是我希望能够自动判断文件类型,自动进行编译。在google搜寻了好一阵子,找到了一个临时性的方案。摘录如下。

    安装PackageResourceViewer插件

    • 输入 Ctrl+Shift+P
    • 输入install,选择Package Control: Install Package
    • 选择PackageResourceViewer,安装

    设置默认的 Python.sublime-build

    • 输入 Ctrl+Shift+P
    • 输入 resource,选择PackageResourceViewer:Open Resource
    • 再选择Python,再再选择Python.sublime-build
    • 编辑Python.sublime-build"shell_cmd": "python -u "$file"",改为以下之一:
    • "shell_cmd": "python3 -u "$file"", //指定python3为.py默认编译器
    • "shell_cmd": "python2 -u "$file"", //指定python2为.py默认编译器
    • "shell_cmd": "python -u "$file"", //根据Ubuntu系统设置,看/usr/bin/python链接哪儿(ln)
    • "shell_cmd": "指定版本python的绝对路径 -u "$file"", //指定路径下的python编译器
    • 使用python3的配置文件示例(Python.sublime-build)
    {
    	//"shell_cmd": "python -u "$file"",
    	"shell_cmd": "python3 -u "$file"",                           //指定python3为.py默认编译器
    	"file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
    	"selector": "source.python",
    
    	"env": {"PYTHONIOENCODING": "utf-8"},
    
    	"variants":
    	[
    		{
    			"name": "Syntax Check",
    			"shell_cmd": "python -m py_compile "${file}"",
    		}
    	]
    }
    
    • Ctrl+S 保存配置文件
      注:有关.sublime-build的配置信息说明,可见参见这儿
    • 重启Sublime Text 3
    • 打开.py文件,Ctrl + B 即可编译执行

    呵呵,方便、顺眼多了

    与其他方法的使用比较

    网上也有其他变通方法,可以参考下面链接:

    ubuntu下sublime text 3加入python3环境支持
    指定ubuntu下的Python的运行版本

    个人感觉:

    • 前者,每次编译时选择麻烦
    • 后者,改系统默认配置,可能引发其他依赖异常
    • 最后,本文方法Ctrl+B直接编译运行,又不改系统默认配置,对我最合适,简单、完美 

    我更改那个文件是这么更改的。

    "shell_cmd": "/opt/anaconda3/bin/python -u "$file"",
    ...

    把绝对路径给加上了。

    想来我第一次按ctrl+B时,我选择了某个python版本,应该是sublime记住了这个python版本。以后再press ctrl+B时,系统就不认可环境变量里python到底是指向哪个的,而是把以前保留下来的python指向的版本给调出来。

    类似的技巧也可以用在gcc,g++上。这个.sbulime-build文件关闭后,你再想打开它,是打开不了的。我估计是放在某个压缩包里了。一旦关闭文件,那个临时解压后的文件就不存在了,只有依赖PackageResourceReview打开才有效。

    "shell_cmd": "/opt/anaconda3/bin/python -u "$file"",

    故障解决

    有次我把“export LD_LIBRARY_PATH=/opt/anaconda3/lib/:$LD_LIBRARY_PATH”放到 ~/.profile中,结果发现系统无法登录进去。改放到~/.bashrc里就好了。另外,如果没有在~/.bashrc中配好的话,也可以修改python解释器的内容为:

    {
      "path": "/opt/anaconda3/bin",
      // "cmd": [
      //   "python",
      //   "-u",
      //   "$file"
      // ],
      "shell_cmd": "export LD_LIBRARY_PATH=/opt/anaconda3/lib/:$LD_LIBRARY_PATH && python -u "$file"",
      "file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
      "selector": "source.python"
    }

    注掉的内容是以前的。现在加了一条“export……”,这下子在sublime中运行脚本就没有问题了。

  • 相关阅读:
    VBS发送邮件-1
    docker命令
    NLP | 自然语言处理
    windows: Python安装scipy,scikit-image时提示"no lapack/blas resources found"的解决方法
    Sense2vec with spaCy and Gensim
    python 去停用词
    nohup command > myout.file 2>&1 &
    NLTK vs SKLearn vs Gensim vs TextBlob vs spaCy
    Gensim进阶教程:训练word2vec与doc2vec模型
    Gensim入门教程
  • 原文地址:https://www.cnblogs.com/tangxiaosheng/p/14334466.html
Copyright © 2011-2022 走看看