External libraries and dependencies: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
In that case, it might be that sub-dependencies will be shipped twice, once with SweepMe! and once with your Device Class.
In that case, it might be that sub-dependencies will be shipped twice, once with SweepMe! and once with your Device Class.


For that reason, we recommnend to use our Library Builder which adds all missing packages to a folder which you can be copied into your Device Class.
For that reason, we recommnend to use our Library Builder which adds all missing packages to a folder which you can copy into your Device Class folder.
The Library Builder is available from your sweep-me.net user account. Please contact us to get one (contact@sweep-me.net).
The Library Builder is available through your sweep-me.net user account. Please contact us to get one (contact@sweep-me.net).


=== Requirements ===
=== Requirements ===


* Installed environment of Python as used for SweepMe! @FK: we need to state version in credits.html or elsewhere
* Installed environment of Python as used for SweepMe! @FK: we need to state version in credits.html or elsewhere

Revision as of 23:15, 13 May 2018

Python modules

Not all available packages for Python can be part of SweepMe!. Still, you can add these packages to your Device Class and load them from a subfolder. In that case, it might be that sub-dependencies will be shipped twice, once with SweepMe! and once with your Device Class.

For that reason, we recommnend to use our Library Builder which adds all missing packages to a folder which you can copy into your Device Class folder. The Library Builder is available through your sweep-me.net user account. Please contact us to get one (contact@sweep-me.net).

Requirements

  • Installed environment of Python as used for SweepMe! @FK: we need to state version in credits.html or elsewhere
  • All packages installed you need for your Device Class
  • @ FK: Is pyinstaller needed?

Extracting the missing packages

  1. Goto LibraryBuilder folder
  2. Open build_library.py and change sweepme_path to your installation path of SweepMe!
  3. Open required_modules.py and import all packages which are missing in SweepMe!
  4. Run build_library.py
  5. Copy the folder libs_required_modules to your DC and rename as desired
  6. Do not forget to add licence files for each packages you added yourself

Loading the mising packages in your Device Class

  1. Add the path of your libs within your Device Class to the variable sys.path:

libpath = os.path.dirname(__file__) + "\\libs" if not libpath in sys.path:

   sys.path.append(libpath)
  1. Now import your libs as usual

import *name of the lib*

  1. If it does not work, plesae contact us


DLL

.Net DLL