update the install packages to copy the python site packages to venv
This commit is contained in:
parent
afd9da8206
commit
7710dd34e8
64
vendor/automated_lin_test/install_packages.sh
vendored
Normal file → Executable file
64
vendor/automated_lin_test/install_packages.sh
vendored
Normal file → Executable file
@ -1,46 +1,49 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Install Melexis Python packages to system Python
|
# Install Melexis Python packages to an active venv (if activated) or system Python
|
||||||
|
|
||||||
echo "Installing Melexis LIN packages to system Python..."
|
MELEXIS_SITE_PACKAGES="/mnt/c/Program Files/Melexis/Melexis IDE/plugins/com.melexis.mlxide.python_1.2.0.202408130945/python/Lib/site-packages"
|
||||||
|
|
||||||
MELEXIS_SITE_PACKAGES="/mnt/WINDRV/InstalledPrograms/Melexis IDE/plugins/com.melexis.mlxide.python_1.2.0.202408130945/python/Lib/site-packages"
|
# Determine destination: prefer active venv, fall back to system site-packages
|
||||||
|
if [ -n "$VIRTUAL_ENV" ]; then
|
||||||
# Try to install from Melexis packages
|
DEST_SITE_PACKAGES=$(python -c "import site; print(site.getsitepackages()[0])" 2>/dev/null)
|
||||||
if [ -d "$MELEXIS_SITE_PACKAGES" ]; then
|
echo "Active venv detected: $VIRTUAL_ENV"
|
||||||
echo "Found Melexis packages at: $MELEXIS_SITE_PACKAGES"
|
echo "Installing into venv site-packages: $DEST_SITE_PACKAGES"
|
||||||
|
SUDO=""
|
||||||
# Copy packages to system site-packages
|
else
|
||||||
SYSTEM_SITE_PACKAGES=$(python3 -c "import site; print(site.getsitepackages()[0])" 2>/dev/null)
|
DEST_SITE_PACKAGES=$(python3 -c "import site; print(site.getsitepackages()[0])" 2>/dev/null)
|
||||||
|
echo "No venv active — installing into system Python..."
|
||||||
if [ -z "$SYSTEM_SITE_PACKAGES" ]; then
|
echo "System site-packages: $DEST_SITE_PACKAGES"
|
||||||
echo "Error: Could not determine system site-packages directory"
|
if [ ! -w "$DEST_SITE_PACKAGES" ]; then
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "System site-packages: $SYSTEM_SITE_PACKAGES"
|
|
||||||
|
|
||||||
# Check if we have write permissions
|
|
||||||
if [ ! -w "$SYSTEM_SITE_PACKAGES" ]; then
|
|
||||||
echo "Note: You may need sudo to install packages system-wide"
|
echo "Note: You may need sudo to install packages system-wide"
|
||||||
SUDO="sudo"
|
SUDO="sudo"
|
||||||
else
|
else
|
||||||
SUDO=""
|
SUDO=""
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DEST_SITE_PACKAGES" ]; then
|
||||||
|
echo "Error: Could not determine target site-packages directory"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Try to install from Melexis packages
|
||||||
|
if [ -d "$MELEXIS_SITE_PACKAGES" ]; then
|
||||||
|
echo "Found Melexis packages at: $MELEXIS_SITE_PACKAGES"
|
||||||
|
|
||||||
# Copy packages
|
# Copy packages
|
||||||
echo "Copying pylin..."
|
echo "Copying pylin..."
|
||||||
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pylin" "$SYSTEM_SITE_PACKAGES/"
|
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pylin" "$DEST_SITE_PACKAGES/"
|
||||||
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pylin-"*".dist-info" "$SYSTEM_SITE_PACKAGES/"
|
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pylin-"*".dist-info" "$DEST_SITE_PACKAGES/" 2>/dev/null || true
|
||||||
|
|
||||||
echo "Copying pylinframe..."
|
echo "Copying pylinframe..."
|
||||||
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pylinframe" "$SYSTEM_SITE_PACKAGES/"
|
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pylinframe" "$DEST_SITE_PACKAGES/"
|
||||||
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pylinframe-"*".dist-info" "$SYSTEM_SITE_PACKAGES/"
|
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pylinframe-"*".dist-info" "$DEST_SITE_PACKAGES/" 2>/dev/null || true
|
||||||
|
|
||||||
echo "Copying pymumclient..."
|
echo "Copying pymumclient..."
|
||||||
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pymumclient" "$SYSTEM_SITE_PACKAGES/"
|
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pymumclient" "$DEST_SITE_PACKAGES/"
|
||||||
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pymumclient-"*".dist-info" "$SYSTEM_SITE_PACKAGES/"
|
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/pymumclient-"*".dist-info" "$DEST_SITE_PACKAGES/" 2>/dev/null || true
|
||||||
|
|
||||||
# Copy all dependencies
|
# Copy all remaining dependencies
|
||||||
echo "Copying all Melexis dependencies..."
|
echo "Copying all Melexis dependencies..."
|
||||||
for pkg_dir in "$MELEXIS_SITE_PACKAGES"/*; do
|
for pkg_dir in "$MELEXIS_SITE_PACKAGES"/*; do
|
||||||
pkg=$(basename "$pkg_dir")
|
pkg=$(basename "$pkg_dir")
|
||||||
@ -53,9 +56,8 @@ if [ -d "$MELEXIS_SITE_PACKAGES" ]; then
|
|||||||
# Only copy directories (packages)
|
# Only copy directories (packages)
|
||||||
if [ -d "$pkg_dir" ]; then
|
if [ -d "$pkg_dir" ]; then
|
||||||
echo " - $pkg"
|
echo " - $pkg"
|
||||||
$SUDO cp -r "$pkg_dir" "$SYSTEM_SITE_PACKAGES/"
|
$SUDO cp -r "$pkg_dir" "$DEST_SITE_PACKAGES/"
|
||||||
# Copy corresponding .dist-info if exists
|
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/${pkg}-"*".dist-info" "$DEST_SITE_PACKAGES/" 2>/dev/null || true
|
||||||
$SUDO cp -r "$MELEXIS_SITE_PACKAGES/${pkg}-"*".dist-info" "$SYSTEM_SITE_PACKAGES/" 2>/dev/null || true
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -63,7 +65,7 @@ if [ -d "$MELEXIS_SITE_PACKAGES" ]; then
|
|||||||
echo "Installation complete!"
|
echo "Installation complete!"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Verifying installation..."
|
echo "Verifying installation..."
|
||||||
python3 -c "import pylin; import pymumclient; print('✓ Packages imported successfully')" && echo "Success!" || echo "Failed - some packages missing"
|
python -c "import pylin; import pymumclient; print('✓ Packages imported successfully')" && echo "Success!" || echo "Failed - some packages missing"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Error: Melexis packages not found"
|
echo "Error: Melexis packages not found"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user