Fix rocprof-compute TUI build err with python 39 (#303)

* Upgrade min python version from 3.8 to 3.9

* Set min version for textual-fspicker for TUI support

* Update workflows to use python 3.9 instead of 3.8

* fix formatting

* fix bug

---------

Co-authored-by: Vignesh Edithal <Vignesh.Edithal@amd.com>
此提交包含在:
Fei Zheng
2025-10-20 22:27:35 -06:00
提交者 GitHub
父節點 a433e6f48d
當前提交 2c59a82fe1
共有 8 個檔案被更改,包括 13 行新增14 行删除
+1 -1
查看文件
@@ -30,7 +30,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.8'
python-version: '3.9'
- name: Check Coverage File Exists
working-directory: projects/rocprofiler-compute
+1 -1
查看文件
@@ -41,7 +41,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: '3.8'
python-version: '3.9'
- name: Python dependency installs
working-directory: projects/rocprofiler-compute
run: python3 -m pip install -t${INSTALL_DIR}/python-libs -r requirements.txt
+1 -6
查看文件
@@ -73,7 +73,7 @@ option(CHECK_PYTHON_DEPS "Verify necessary python dependencies" ON)
if(CHECK_PYTHON_DEPS)
# Python 3 is required
message(STATUS "Detecting Python interpreter...")
find_package(Python3 3.8 COMPONENTS Interpreter REQUIRED)
find_package(Python3 3.9 COMPONENTS Interpreter REQUIRED)
# Allow user-provided python search path
if(DEFINED PYTHON_DEPS)
@@ -96,11 +96,6 @@ if(CHECK_PYTHON_DEPS)
if(${ARGV0} STREQUAL "pyyaml")
set(PACKAGE "yaml")
endif()
# Skip check for textual_fspicker
if(${package} STREQUAL "textual_fspicker")
message(STATUS "Skipping check for textual_fspicker")
return()
endif()
execute_process(
COMMAND ${Python3_EXECUTABLE} -c "import ${PACKAGE}"
OUTPUT_QUIET
+1 -1
查看文件
@@ -1,6 +1,6 @@
[project]
name = "rocprof_compute"
requires-python = ">=3.8"
requires-python = ">=3.9"
[project.optional-dependencies]
developer = [
+1 -1
查看文件
@@ -16,5 +16,5 @@ sqlalchemy>=2.0.42
tabulate
textual
textual_plotext
textual-fspicker
textual-fspicker>=0.4.3
tqdm
+3 -1
查看文件
@@ -25,8 +25,10 @@
import argparse
import copy
from collections import OrderedDict
from collections.abc import Hashable
from pathlib import Path
from typing import Any, Hashable, Optional, OrderedDict
from typing import Any, Optional
import pandas as pd
+2 -1
查看文件
@@ -24,9 +24,10 @@
##############################################################################
import argparse
import logging
from collections.abc import Hashable
from datetime import datetime
from enum import Enum
from typing import Any, Hashable, Optional
from typing import Any, Optional
import pandas as pd
from textual.widgets import TextArea
+3 -2
查看文件
@@ -42,9 +42,10 @@ import tempfile
import threading
import time
import uuid
from collections.abc import Generator
from contextlib import contextmanager
from pathlib import Path
from typing import Any, Dict, Generator, Optional, Union, cast
from typing import Any, Optional, Union, cast
import pandas as pd
import yaml
@@ -767,7 +768,7 @@ def run_prof(
if is_mode_live_attach:
@contextmanager
def temporary_env(env_vars: Dict[str, str]) -> Generator[None, None, None]:
def temporary_env(env_vars: dict[str, str]) -> Generator[None, None, None]:
"""
Temporarily change the environment variable of this application.
"""