MCPcopy Index your code
hub / github.com/Tencent/CodeAnalysis / is_python_available

Method is_python_available

client/tool/util/pythontool.py:108–135  ·  view source on GitHub ↗

基于传入的python版本,判断工具是否可用 :param tool_name: 工具名称 :param python_version: "2", "3" :param with_version: python是否带上版本号,如python3 :return:

(tool_name, python_version="3", with_version=False)

Source from the content-addressed store, hash-verified

106
107 @staticmethod
108 def is_python_available(tool_name, python_version="3", with_version=False):
109 """
110 基于传入的python版本,判断工具是否可用
111 :param tool_name: 工具名称
112 :param python_version: "2", "3"
113 :param with_version: python是否带上版本号,如python3
114 :return:
115 """
116 python_cmd = "python"
117 if with_version:
118 python_cmd += str(python_version)
119
120 if PythonTool.is_local_python_command_available(python_cmd, python_version):
121 # 本地Python环境可用,接下来判断是否安装pylint
122 cmd_args = [python_cmd, "-m", tool_name, "--version"]
123 LogPrinter.info(f'run cmd: {cmd_args}')
124 if SubProcController(cmd_args,
125 stdout_line_callback=LogPrinter.info,
126 stderr_line_callback=LogPrinter.info).wait() != 0:
127 if tool_name == "flake8":
128 message = "建议客户本地安装flake8工具,安装命令:pip install flake8 && pip install flake8-json"
129 else:
130 message = f"建议客户本地安装{tool_name}工具,安装命令:pip install {tool_name}"
131 LogPrinter.info(message)
132 else:
133 # 本地pylint环境可用
134 return True
135 return False
136
137 @staticmethod
138 def add_python_env(tool_name):

Callers 2

check_tool_usableMethod · 0.80
check_pythonMethod · 0.80

Calls 2

infoMethod · 0.45

Tested by

no test coverage detected