Installer for missing PIP packages

Issue #371 closed
Benjamin Jakimow created an issue

Many users have problems to install python packages that are missing in a standard QGIS installation. Implement an installer that helps to install such none-standard-packages (NSPs) via pip.

  • read required packages from requirements.txt
  • by default, install missing packages with pip install ... -ud into the pip user directory (somewhere in HOME). This way we should be able to avoid missing access rights on all platforms
  • optionally, allow to use pip installation without `-u` (of interest for Admins)
  • run requirements.txt commands line by line and continue in case of failed installations
  • show installation progress

This issue addresses #369, #328, #284, #259

Official response

Comments (9)

  1. Benjamin Jakimow reporter

    Current GUI: any recommendations @Fabian Thiel @Andreas Janz ?

    Before:

    After pressing “Yes to all”

  2. Benjamin Jakimow reporter

    The Package installer can be started from

    1. the message bar,
    2. the main window (Project > Package Installer) and
    3. the EnMAP-Box interface EnMAPBox.instance().showPackageInstaller()

  3. Benjamin Jakimow reporter

    added Installer for missing PIP packages - addresses #371 - added pippackageinstaller.ui dependencycheck.py: - refactoring of everything - added PIPPackage() to described a package and how it can be installed with pip - PIPPackageInstallerModel(QAbstractTableModel) to visualize PIPPackages - PIPPackageInstaller(QWidget) to install missing pip packages enmapboxgui.py: - connected PIPPackageInstaller, which can be started from message bar and context menu - added EnMAPBox().showPackageInstaller()

    Signed-off-by: Benjamin Jakimow benjamin.jakimow@geo.hu-berlin.de benjamin.jakimow@geo.hu-berlin.de

    → <<cset 0784193f79f0>>

  4. Benjamin Jakimow reporter

    I added the following warning which is shown before the first try to install a package:

  5. Benjamin Jakimow reporter

    dependencycheck.py, PIP Installer - allows to reload python packages - shows current and available / latest version - added hint that restart of QGIS / EnMAP-Box might be required, closes #394 - closes #371 - closes #395

    → <<cset c71356e02a10>>

  6. Log in to comment