UI application that checks and updates all installed libraries. It also prompts the user if a new stable version of Python is available
Created by Lewis Bennett, Berlin, 17.09.2024.
The Python Libraries Updater is a utility application designed to automatically update Python and its installed libraries. It provides both a graphical user interface (GUI) for manual operation and a command-line interface for scheduled tasks.
- Update Python: Checks for and notifies about new Python versions.
- Update Libraries: Automatically updates all installed Python libraries.
- View Installed Libraries: Displays a list of all installed libraries with versions.
- Update Reports: Generates reports of update activities.
- Scheduled Updates: Can be configured to run automatically at set intervals.
- Ensure Python 3.6 or higher is installed on your system.
- Install required libraries: pip install PyQt6 requests packaging pip-review
- Download the 'python_updater_gui.py' script to your preferred location.
- Run
python python_updater_gui.py
- Use the interface to manually trigger updates or view installed libraries.
- Run
python python_updater_gui.py --update
- This mode performs updates without launching the GUI.
To run the updater automatically at set intervals:
- Open Task Scheduler
- Create a new task
- Set the trigger to your desired schedule (e.g., weekly)
- Set the action to start a program
- Program/script:
python
- Add arguments:
path\to\python_updater_gui.py --update
- Start in:
path\to\script\directory
- Open terminal
- Edit crontab:
crontab -e
- Add a line (for weekly updates): 0 0 * * 0 /usr/bin/python3 /path/to/python_updater_gui.py --update
- Save and exit
Note: Adjust the Python path and script path as necessary for your system.
- Permissions: Ensure the script has necessary permissions to update Python and libraries.
- Virtual Environments: The updater affects the Python environment it runs in. For global updates, run outside of virtual environments.
- System-wide vs. User Installs: Be aware of whether you're updating system-wide or user-specific installations.
- Backup: Always maintain backups before running mass updates.
- Testing: After updates, test critical applications to ensure compatibility.
- Network: Stable internet connection required for updates.
- Storage: Ensure sufficient disk space for new versions.
- Update Failures: Check internet connection and permissions.
- GUI Not Launching: Ensure PyQt6 is correctly installed.
- Libraries Not Updating: Verify pip and pip-review are up-to-date.
- Scheduled Task Not Running: Check system logs for any error messages.
- The application requires internet access to check for and download updates.
- It may require elevated permissions to update system-wide Python installations.
- Always download the script from trusted sources.
- Modify update frequency in the scheduling setup.
- Edit the script to change GUI appearance or add new features.
- Adjust logging settings for more or less verbose output.
For issues, suggestions, or contributions, please contact Lewis Bennett or submit a pull request if the project is hosted on a public repository.
This tool automates the update process for Python and its libraries. While it aims to maintain system integrity, unforeseen compatibility issues may arise. Use at your own risk and always backup your system before major updates.
Open source. The creator does not accept any liability for this software. Please consult the license file on the distro.
v1.0 - Initial release