SubLime Text3结合python虚拟环境运行

第一部分 在SublimeText3中运行虚拟环境

修改默认行距
“font_face”: “Courier New”,
“font_size”: 14,
“line_padding_bottom”: 4,
“line_padding_top”: 4

最近在使用snap7做上位画面,在PC上选用ST3作为编辑器。

python使用内置库“venv”创建虚拟环境
python -m venv xxxx
xxxx–即为虚拟环境的名称

在sublimetext3中需要配置json文件才能在使用ctrl b的时候运行虚拟环境。
命令如下:

	"cmd": ["XXXXXXXXXX","-u","$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",

配置代码(XXXXXXXXXX代表Python安装路径,比如 D:/Development Tools/Python/python.exe)

点击“tools”-“build system”-选择“new build system”,粘贴如上内容,点击保存。

这里需要注意,保存的时候,所有的设置都不要改变,包括名称都要使用默认的“untitled”,否则列表内不会显示新添加的系统。

import snap7
plc = snap7.client.Client()
plc.connect('192.168.1.11',0,1)

以上json文件保存后,导入snap7库,并没有提示错误,但是当创建Client()对象的实例时出现了无法找到sanp7库的异常提示。所以上述json配置的只是python的exe文件路径,而snap7运行的时候需要将自身所在的位置也包含到环境变量中,才能正常调用。

最后的json文件配置如下:文件名为“untitled”

	"path":"C:\\Documents and Settings\\a\\python\\Scripts",
	"cmd": ["C:\\Documents and Settings\\a\\python\\Scripts\\python.exe","-u","$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",

至此,配置成功,使用snap7可以成功连接PLC。

2021.08.09 修改 此设置下Ctrl B的时候无法正常显示中文,查阅资料后发现是环境的汉字编码问题。只要在此编码下加入两行代码即可完成

	"path":"C:\\Documents and Settings\\a\\python\\Scripts",
	"cmd": ["C:\\Documents and Settings\\a\\python\\Scripts\\python.exe","-u","$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "utf-8" ,
    "env": {"PYTHONIOENCODING": "utf8"}

“path”:“C:\Documents and Settings\a\python\Scripts”, “cmd”:
[“C:\Documents and
Settings\a\python\Scripts\python.exe”,“-u”,“$file”],
“file_regex”: “1File "(…?)”, line ([0-9]*)",
“selector”: “source.python”,
“encoding”: “utf-8” ,
“env”: {“PYTHONIOENCODING”: “utf8”}

参考资料:在Sublime Text 3中配置Python3的开发环境/Build System

第二部分 针对sublimetext插件的一些问题

软件好用,但是缺陷也很大,典型的就是不支持input()函数。
在此需要一个插件sublimeREPL,他能在一个新窗口执行input()函数。
想要使用这个插件,也不是那么容易的,在安装过程中发现了若干问题,记录如下:

一、通用的安装方法install package control

之前使用ST3的时候想要安装插件,只要ctrl shift P输入install package control,完毕后只要搜索REPL找到对应插件安装即可完成,非常方便。但是这次出现了一个极端问题,就是不能正常安装。在此找到了几个方法,通常是修改json文件中的channel值:

"channels":
[
	"http://cst.stu.126.net/u/json/cms/channel_v3.json"
]

“channels”:
[
“http://cst.stu.126.net/u/json/cms/channel_v3.json”
]
这一步修改完毕后,就可以搜索到ST3支持的插件,但是依然不能下载。
原因可能是被墙或者网速慢造成的。
那么之前修改channel值也变的没有意义了。
此时可以打开控制台看一下下载过程的错误提示,下载该插件的时候,有如下错误提示:

Package Control: Error downloading package. 
HTTP exception InvalidCertificateException (Host codeload.github.com returned an invalid certificate
 ([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:548))) 
 downloading 
 https://codeload.github.com/wuub/SublimeREPL/zip/2.1.1.

其中最后的网址就是这个插件的地址,可以复制到浏览器直接下载过来。
下载到本地之后执行解压缩出一个名为“SublimeREPL-2.1.2”的文件夹,然后一定要注意重命名位“SublimeREPL”否则该插件依然不能正常运行,点击“首选项”-“浏览包”,会打开一个文件夹,把刚才的文件夹拷贝到这里就可以了。
之后tools菜单下就可以出现SublimeREPL插件的名字,
tools-SublimeREPL-python-python-Python Run current file就可以执行对应的py文件。

参考资料:Sublime Text出现There are no packages available for installation的解决办法
解决sublime text 3使用Install Package时出现There are no packages available for installation问题
Sublime Text 无法使用Package Control或插件安装失败的解决方法

此时出现了第二个问题

二、SublimeREPL同样需要配置python运行环境

插件运行使用的是系统默认的环境,就是主python程序,二不是venv创建的虚拟环境,需要配置该插件的运行环境才能正常运行。
具体步骤如下:
1.找到安装包位置,打开文件SublimeREPL/config/Python/Main.sublime-menu
在这里插入图片描述
2. 在cmd项修改第一个元素,即你的python命令文件位置,这个cmd选项对应插件运行python的选项。选错了的话是无法正常运行的。
在这里插入图片描述
在这里插入图片描述

参考资料:
SublimeREPL配置Python运行命令,更换Python路径

每次运行的时候都要点菜单选好几次,太麻烦了,这又引申出了第三个问题:

三、绑定快捷键

“首选项”-“键绑定”,写入如下代码:

{
    "keys": ["f5"],
    "caption": "SublimeREPL: Python - RUN current file",
    "command": "run_existing_window_command",
    "args": {
        "id": "repl_python_run",
        "file": "config/Python/Main.sublime-menu"
    }
}

此时能够正常弹出窗口,但是当连接PLC的时候,弹出异常提示没有找到snap7库,可知运行环境有问题。

snap7.snap7exceptions.Snap7Exception: can't find snap7 library. If installed, try running ldconfig

此时需要在插件的user配置一下运行环境:
“首选项"→"插件设置"→"SublimeREPL"→"Settings - User”,添加以下内容

{
    "default_extend_env": {"PATH": "{PATH};C:\\Documents and Settings\\a\\python\\Scripts\\"}
}

到这里ST3配置完毕,基本能用了。
总结一下就是安装包的时候,如果能直接安装那是最好,如果不能正常安装,需要调用控制台找到对应的网址下载,然后解压缩,放到包管理的文件夹来完成安装。
安装完毕后还需要配置json文件,
1)是快捷键的绑定,不然会很麻烦。
2)是配置python.exe文件的位置,这个文件在插件安装包的config文件夹里
3)是配置snap7依赖的环境,这个需要“首选项”-“包设置”-“SublimeREPL”-“Settings - User”里再配置一下。

参考资料:
Sublime Text3安装SublimeREPL插件以及快捷键设置

第三部分 配置anaconda

使用同样的方法下载anaconda

https://codeload.github.com/DamnWidget/anaconda/zip/v1.4.12

解压后同样将文件名“anaconda-1.4.12.zip”重命名为“anaconda”否则不能正常工作

安装完毕后,所有原来的代码都带有白色框说明插件开始工作。同时也开始有代码补全和提示功能
在这里插入图片描述
Preferences-package Setting-Anaconda-Settings-Default中修改

"python_interpreter":"C:\\Documents and Settings\\a\\python\\Scripts\\python.exe"

“python_interpreter”:“C:\Documents and Settings\a\python\Scripts\python.exe”
另外需要对Preferences-package Setting-Anaconda-Settings-Users如下设置

{
	"python_interpreter":"C:\\Documents and Settings\\a\\python\\Scripts\\python.exe",
    "swallow_startup_errors":true,
    "suppress_word_completions": true,
    "suppress_explicit_completions": true,
    "complete_parameters": true,
    "complete_all_parameters": false,
    "anaconda_linting":false
}

{ “python_interpreter”:“C:\Documents and
Settings\a\python\Scripts\python.exe”,
“swallow_startup_errors”:true,
“suppress_word_completions”: true,
“suppress_explicit_completions”: true,
“complete_parameters”: true,
“complete_all_parameters”: false,
“anaconda_linting”:false }

这样烦人的白框就没有了

2020.12.28日更新
之前安装anaconda的方法已经翻车,具体表现为输入模块之后用“.”无法弹出该模块内的函数,第二运行的时候直接卡死。
再次打开install package control
在这里插入图片描述
在弹出的窗口输入anaconda
会出现这个包所在的网址,直接输入这个网址

http://damnwidget.github.io/anaconda/

在这里插入图片描述
弹出的这个网址才是正根,之前那个网址下过来的包是不能正常工作的。
在这个网页里一部分介绍手动安装anaconda包,包的地址为:

https://codeload.github.com/DamnWidget/anaconda/tar.gz/v2.1.14

下载后放到同样的地址后,一切正常了。
在这里插入图片描述

参考资料:
sublime text3装入插件Anaconda
Sublime Text3 python自动补全问题——Sublime Text3安装Anaconda插件
使用sublime实现python代码补全


  1. ↩︎

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值