mirror of
https://github.com/ShaYmez/hblink3-docker-install.git
synced 2025-12-22 21:49:50 +13:00
Merge pull request #13 from ShaYmez/copilot/fix-pip-installation-issues
Fix pip installation error handling and Debian 12+ compatibility
This commit is contained in:
commit
e0e6bc97e1
12
CHANGELOG.md
12
CHANGELOG.md
@ -6,6 +6,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Enhanced pip_install helper function with comprehensive error handling and user feedback
|
||||||
|
- Added proper error checking after all pip package installations
|
||||||
|
- Improved error messages to help users diagnose installation failures
|
||||||
|
- Added directory verification before installing from requirements.txt
|
||||||
|
- Changed deprecated --force flag to --force-reinstall for attrs package installation
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Silent pip installation failures now properly reported to users
|
||||||
|
- Missing requirements.txt file now handled gracefully with warning instead of silent failure
|
||||||
|
- pip installation errors now cause the installer to exit with proper error messages
|
||||||
|
|
||||||
## [1.5.0] - 2024-12-13
|
## [1.5.0] - 2024-12-13
|
||||||
|
|
||||||
### Verified
|
### Verified
|
||||||
|
|||||||
@ -235,17 +235,63 @@ pip_install() {
|
|||||||
local args="$@"
|
local args="$@"
|
||||||
if [ $VERSION -ge 12 ]; then
|
if [ $VERSION -ge 12 ]; then
|
||||||
# For Debian 12+, try with --break-system-packages flag first
|
# For Debian 12+, try with --break-system-packages flag first
|
||||||
pip3 install --break-system-packages $args 2>/dev/null || pip3 install $args
|
echo "Installing Python packages for Debian $VERSION: $args"
|
||||||
|
if pip3 install --break-system-packages $args; then
|
||||||
|
echo "Successfully installed: $args"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "Warning: Installation with --break-system-packages failed, trying standard installation..."
|
||||||
|
if pip3 install $args; then
|
||||||
|
echo "Successfully installed: $args"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "ERROR: Failed to install: $args"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
# For Debian 10-11, use standard pip installation
|
# For Debian 10-11, use standard pip installation
|
||||||
pip3 install $args
|
echo "Installing Python packages for Debian $VERSION: $args"
|
||||||
|
if pip3 install $args; then
|
||||||
|
echo "Successfully installed: $args"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "ERROR: Failed to install: $args"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Installing Python dependencies..."
|
echo "Installing Python dependencies..."
|
||||||
pip_install setuptools wheel
|
cd $HBMONDIR
|
||||||
pip_install -r requirements.txt
|
|
||||||
pip_install attrs --force
|
# Install setuptools and wheel first
|
||||||
|
if ! pip_install setuptools wheel; then
|
||||||
|
echo "ERROR: Failed to install setuptools and wheel"
|
||||||
|
echo "Please check your internet connection and Python installation"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if requirements.txt exists before trying to install
|
||||||
|
if [ -f requirements.txt ]; then
|
||||||
|
if ! pip_install -r requirements.txt; then
|
||||||
|
echo "ERROR: Failed to install packages from requirements.txt"
|
||||||
|
echo "This may be due to network issues or missing system dependencies"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "WARNING: requirements.txt not found in $HBMONDIR"
|
||||||
|
echo "Continuing installation without requirements.txt dependencies..."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install attrs with --force flag (note: --force is deprecated, using --force-reinstall)
|
||||||
|
if ! pip_install attrs --force-reinstall; then
|
||||||
|
echo "WARNING: Failed to install attrs with --force-reinstall, trying without force..."
|
||||||
|
if ! pip_install attrs; then
|
||||||
|
echo "ERROR: Failed to install attrs package"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo Install /opt/HBMonv2/config.py ...
|
echo Install /opt/HBMonv2/config.py ...
|
||||||
cat << EOF > /opt/HBMonv2/config.py
|
cat << EOF > /opt/HBMonv2/config.py
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user