fix: support Fedora/RHEL/Arch/openSUSE for GFK installation
On Fedora/RHEL, python3-venv package doesn't exist because the venv module is already included with python3. The script was failing with: "No match for argument: python3-venv" Fix: Handle venv installation per package manager: - apt (Debian/Ubuntu): install python3.X-venv - dnf (Fedora/RHEL 8+): just install python3-pip (venv included) - yum (RHEL/CentOS 7): just install python3-pip - pacman (Arch): install python-pip (venv included) - zypper (openSUSE): install python3-pip (venv included) - apk (Alpine): install py3-pip Fixes #24
This commit is contained in:
52
paqctl.sh
52
paqctl.sh
@@ -1155,18 +1155,46 @@ install_python_deps() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install python3-venv (version-specific package for Debian/Ubuntu)
|
# Install venv support (varies by distro)
|
||||||
# The generic python3-venv may not work, need python3.X-venv
|
# - Debian/Ubuntu: needs python3-venv or python3.X-venv package
|
||||||
local venv_pkg="python3-venv"
|
# - Fedora/RHEL/Arch/openSUSE: venv included with python3, just need pip
|
||||||
if [ "$PKG_MANAGER" = "apt" ]; then
|
# - Alpine: needs py3-pip
|
||||||
# Get specific version like python3.12-venv
|
case "$PKG_MANAGER" in
|
||||||
local pyver_full
|
apt)
|
||||||
pyver_full=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")' 2>/dev/null)
|
# Debian/Ubuntu needs python3-venv package (version-specific)
|
||||||
if [ -n "$pyver_full" ]; then
|
local pyver_full
|
||||||
venv_pkg="python${pyver_full}-venv"
|
pyver_full=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")' 2>/dev/null)
|
||||||
fi
|
if [ -n "$pyver_full" ]; then
|
||||||
fi
|
install_package "python${pyver_full}-venv" || install_package "python3-venv"
|
||||||
install_package "$venv_pkg"
|
else
|
||||||
|
install_package "python3-venv"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
dnf)
|
||||||
|
# Fedora/RHEL 8+: venv is included with python3, just ensure pip
|
||||||
|
install_package "python3-pip" || true
|
||||||
|
;;
|
||||||
|
yum)
|
||||||
|
# Older RHEL/CentOS 7
|
||||||
|
install_package "python3-pip" || true
|
||||||
|
;;
|
||||||
|
pacman)
|
||||||
|
# Arch Linux: venv included with python, pip is separate
|
||||||
|
install_package "python-pip" || true
|
||||||
|
;;
|
||||||
|
zypper)
|
||||||
|
# openSUSE: venv included with python3
|
||||||
|
install_package "python3-pip" || true
|
||||||
|
;;
|
||||||
|
apk)
|
||||||
|
# Alpine
|
||||||
|
install_package "py3-pip" || true
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Try generic python3-venv, ignore if fails (venv may be built-in)
|
||||||
|
install_package "python3-venv" 2>/dev/null || true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Create virtual environment
|
# Create virtual environment
|
||||||
local VENV_DIR="$INSTALL_DIR/venv"
|
local VENV_DIR="$INSTALL_DIR/venv"
|
||||||
|
|||||||
Reference in New Issue
Block a user