日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Sublime插件开发 启动Anaconda并运行对应Python脚本

發布時間:2025/3/15 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sublime插件开发 启动Anaconda并运行对应Python脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

啟動Anaconda并運行對應Python腳本

  • 事因
  • 簡介
    • Plugin
  • 啟動Anaconda并運行對應Python腳本
    • 創建Plugin腳本文件
      • autoOpenCommand腳本
      • autoOpen腳本
    • 設置Key Buildings
    • 測試
    • 遇到的問題
      • 臨時解決方案

事因

Python是一個非常方便的腳本語言,因此本人會經常使用到Python做一些事情。由于PyCharm太大,因此本人安裝了Sublime Text 3。在Sublime安裝了一些Anaconda插件和可運行插件后,嘗試run了一下,發現一些Python庫提示版本錯誤等問題;但是Anaconda終端控制臺運行同一個腳本卻不會報錯。

簡介

Sublime Text 3是支持自定義Command的,在Sublime Text 3安裝目錄中可以找到Sublime Text 3/Lib/Python38,里面有兩個腳本sublime.py和sublime_plugin.py。查看兩個文件的源代碼,發現其中sublime_plugin.py依賴sublime.py。

Plugin

Q:自定義Command如何創建呢?
A:Sublime工具欄中找到tools -> Developer -> new Plugin..,將文件保存在Sublime Text 3/Packages/User目錄下。
默認創建的Plugin代碼如下:

import sublime import sublime_pluginclass ExampleCommand(sublime_plugin.TextCommand):def run(self, edit):self.view.insert(edit, 0, "Hello, World!")

Q:如何驗證編寫的Command代碼是正確的?
A:在Sublime中使用 ctrl+` 可以打開Console,輸入view.run_command("example")即可執行ExampleCommand腳本。

Q:view.run_command(commandStr)中的commandStr是根據什么樣的規則來的?
A:AaaBbbCommand類的commandStr為aaa_bbb,aaaBbbCommand類的commandStr為aaa_bbb。

Q:該如何設置快捷鍵來運行自定義的Command?
A:Sublime中找到Perferences -> Key Buildings,在右邊窗口中輸入格式如{ "key" : ["快捷鍵"], "command" : "自定義命令" }的Json內容。

啟動Anaconda并運行對應Python腳本

創建Plugin腳本文件

Sublime工具欄中找到tools -> Developer -> new Plugin..,將下面兩個腳本文件保存在Sublime Text 3/Packages/User目錄下。

autoOpenCommand腳本

import os import sublime import sublime_pluginclass autoOpenCommand(sublime_plugin.TextCommand):def run(self, edit):# 獲取當前選中文件的路徑filepath = self.view.file_name()# 創建cmd命令commands = []# 進入Anaconda腳本目錄commands.append(r'cd C:\Users\xxx\Anaconda3\Scripts')# 激活Anaconda環境commands.append(r'activate.bat')# 進入autoOpenCommand腳本所在目錄commands.append(r'cd ' + os.path.abspath(os.path.dirname(__file__)))# 運行另外一個python程序: python autoOpen.py arg1commands.append(r'python autoOpen.py ' + filepath)# 制作成1行命令command = ""for i in range(len(commands)):command = command + commands[i] + (" & " if i != len(commands)-1 else "")# 開啟cmd并且運行commandcommand = r'%windir%\System32\cmd.exe /c "{0}"'.format(command)os.system(command)

autoOpen腳本

import os import sys import multiprocessingif __name__ == "__main__":# 獲取命令行輸入參數if len(sys.argv) <= 1:exit(0)# 由于傳入的文件可能包含空格, 因此需要進行拼接filepath = ""for i in range(len(sys.argv)):if i == 0:continuefilepath = filepath + " " + sys.argv[i]# 分隔目錄和文件名index = filepath.rfind('\\')# 命令commands = []# 進入Anaconda腳本目錄commands.append(r'cd C:\Users\xxx\Anaconda3\Scripts')# 激活Anaconda環境commands.append(r'activate.bat')# 進入Sublime選中腳本所在目錄commands.append(r'cd ' + filepath[:index])# 運行腳本commands.append(r'python ' + filepath[index+1:])# 制作成1行命令command = ""for i in range(len(commands)):command = command + commands[i] + (" & " if i != len(commands)-1 else "")command = r'%windir%\System32\cmd.exe /K "{0}"'.format(command)# 開啟一個進程p = multiprocessing.Process(target=os.system, args=(command,))p.start()

設置Key Buildings

Sublime中找到Perferences -> Key Buildings。

[{ "keys": ["f5"], "command": "auto_open" }, ]

測試

編寫腳本,按F5執行即可。

遇到的問題

由于Sublime是交互式運行的,因此不能直接開啟一個進程。autoOpenCommand類有一個錯誤,os.system(command)運行后并不會馬上結束,意味著Sublime將卡住,除非關閉Anaconda控制臺。

臨時解決方案

將autoOpenCommand腳本中的os.system(command)改為threading.Thread(target=os.system, args=(command,)).start()。

import os import threading import sublime import sublime_pluginclass autoOpenCommand(sublime_plugin.TextCommand):def run(self, edit):# 獲取當前選中文件的路徑filepath = self.view.file_name()# 創建cmd命令commands = []# 進入Anaconda腳本目錄commands.append(r'cd C:\Users\zengzhiwen.pinkz\Anaconda3\Scripts')# 激活Anaconda環境commands.append(r'activate.bat')# 進入autoOpenCommand腳本所在目錄commands.append(r'cd ' + os.path.abspath(os.path.dirname(__file__)))# 運行另外一個python程序: python autoOpen.py arg1commands.append(r'python autoOpen.py ' + filepath)# 制作成1行命令command = ""for i in range(len(commands)):command = command + commands[i] + (" & " if i != len(commands)-1 else "")# 開啟cmd并且運行commandcommand = r'%windir%\System32\cmd.exe /c "{0}"'.format(command)threading.Thread(target=os.system, args=(command,)).start()

總結

以上是生活随笔為你收集整理的Sublime插件开发 启动Anaconda并运行对应Python脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品你懂的 | 国产欧美一区二区三区国产幕精品 | 成人在线播放网站 | 777理伦三级做爰 | 久久美女视频 | 暴力调教一区二区三区 | 亚洲色图第一页 | 亚洲综合中文字幕在线 | 少妇搡bbbb搡bbb搡澳门 | 欧美97 | 五月婷婷在线视频 | 日本裸体视频 | 吻胸摸激情床激烈视频 | 国产精品一区av | 欧美成人免费在线视频 | 牛牛电影国产一区二区 | 精品一区二区三区四区 | 中文字幕一区二区三区人妻不卡 | 亚洲视频免费播放 | 国产一区二区亚洲 | 最近免费中文字幕大全免费版视频 | 大胸美女网站 | 在线免费观看高清视频 | 成人在线欧美 | 亚洲一区二区三区香蕉 | 在线观看黄色的网站 | 蜜臀久久精品久久久久 | 5566在线| 伊人狠狠 | 能看毛片的网站 | 亚洲伦理一区二区 | 黄色资源在线 | 欧美日国产 | 亚洲天堂资源网 | av天天干 | 中国在线观看视频高清免费 | www.国产视频 | 麻豆av在线 | 日韩欧美精品在线播放 | 台湾a级艳片潘金莲 | 日本免费色 | 四虎成人精品在永久免费 | 永久av在线 | 色视频线观看在线播放 | aaa天堂 | 99热超碰在线 | 日本一区二区三区成人 | 国产精品专区在线观看 | 一级特黄妇女高潮2 | 日韩在线第二页 | 欧美福利网| 欧美精品另类 | 美女一区二区三区视频 | 欧美a视频 | 免费视频一区二区 | 无码一区二区三区免费 | 国产欧美一区二区三区在线看蜜臂 | 丁香六月在线 | 一级黄在线观看 | 日韩一级片免费在线观看 | 成人在线观看网址 | 色多多网站 | 亚洲AV无码成人国产精品色 | 91在线播放视频 | 女人被狂躁60分钟视频 | xxx日韩 | 欧美大胆a视频 | 99国产揄拍国产精品 | 91av国产视频 | 五月婷婷开心中文字幕 | 精品乱人伦一区二区三区 | 成人性生交大片免费看r链接 | 一色桃子juy758在线播放 | 在线日韩一区二区 | 蜜桃av一区二区 | 中文字幕在线观看三区 | 天天干夜夜草 | 国产三区在线成人av | 欧美片在线观看 | 久久久精品影视 | 国产 欧美 日韩 在线 | www.youji.com| 琪琪色综合网 | 国产综合内射日韩久 | 精品人妻伦一区二区三区久久 | 亚洲成人基地 | www成人在线 | 青青在线播放 | 日本熟妇成熟毛茸茸 | 亚洲在线中文字幕 | a爱视频| 男人都懂的网站 | 国产在线观看你懂的 | 亚洲精品综合精品自拍 | 欧美一区二区三区久久综合 | 亚洲天天操 | 欧美乱仑 | 国产在线综合视频 | 欧美瑟瑟|