Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
apps:python:start [2023/01/05 20:20] – [Add scripts manually] enviadminapps:python:start [2023/03/12 22:03] – [Make sure all required packages and modules are existing and matching] enviadmin
Line 18: Line 18:
 ==== Using the internal Python distribution ==== ==== Using the internal Python distribution ====
  
-ENVI-met ships with a small 64Bit Python distribution ensuring that minimal requirements and software dependencies are satisfied. However, in almost all cases, you will need to install addtional packages into the Python system that has become quasi-standard over the time. Typical packages that are required for almost all scripts are +ENVI-met ships with a small 64Bit Python distribution ensuring that minimal requirements and software dependencies are satisfied. However, in almost all cases, you will need to install additional packages into the Python system that has become quasi-standard over the time. Typical packages that are required for almost all scripts are 
 [[wp>NumPy]], [[wp>Matplotlib|MatPlotLib]] or [[wp>Pandas_(software)|Pandas]].     [[wp>NumPy]], [[wp>Matplotlib|MatPlotLib]] or [[wp>Pandas_(software)|Pandas]].    
 These packages need to be installed into the ENVI-met Python distribution after installing ENVI-met itelf to use most of the scripts related to ENVI-met.  These packages need to be installed into the ENVI-met Python distribution after installing ENVI-met itelf to use most of the scripts related to ENVI-met. 
-The ENVI-met Python distribution is completly local to ENVI-met, which means it does not interfere with other Python distributions you might have on your system. On the downside of this approach you will need to install additional packages into the local Python distribution.+The ENVI-met Python distribution is completely local to ENVI-met, which means it does not interfere with other Python distributions you might have on your system. On the downside of this approach you will need to install additional packages into the local Python distribution. 
 + 
 +ENVI-met DataStudio will support you in an automated install of the most required packages for ENVI-met. If DataStudio recognizes that e.g. Pandas is missing, if will prompt you to enter a quick install routine to add the missing modules (Internet access required) 
  
-ENVI-met  DataStudio will support you in an automated install of the most required packages for ENVI-met. If DataStudio recognizes that e.g. Pandas is missing, if will promt you to enter a quick install routine to add the missing modules (Internet access requird)  
  
 ==== Using my own Python distribution ==== ==== Using my own Python distribution ====
Line 29: Line 30:
 Many users already do have a working Python installation on their computers including all the packages and libraries they need for their daily work. Many users already do have a working Python installation on their computers including all the packages and libraries they need for their daily work.
 There is no need to double a Python distribution. Using the Workspace Manager, you can direct ENVI-met any time to use your personal installed Python distribution instesd of using and manage the embedded ENVI-met Python version. There is no need to double a Python distribution. Using the Workspace Manager, you can direct ENVI-met any time to use your personal installed Python distribution instesd of using and manage the embedded ENVI-met Python version.
 +
 +==== Make sure all required packages and modules are existing and matching ====
 +
 +Well, that's not possible. 
 +Any script can use its own set of required modules and libraries and the libs between each other may have dependencies, sometimes there are (version) conflicts which are not resolvable.
 +This is an issue related to programming in Python (or to programming in general) and it cannot be solved by ENVI-met.  This normally does not apply to scripts shipped with ENVI-met, but even here, updating single packages can result in crushing the command pipeline even in default scripts or bad dependencies between scripts may occure. 
 +
 +With BETA 3, you can add a list of required special modules in the script header and DataStudio will check, if they exist. If not (-and if selected as option-) DataStudio will automatically launch PIP and tries to install the missing modules and packages. We labelled these modules as //Special Modules// because modules which are not basically a part of Python, but are so basic that they need to exist on any system (such as NumPy or Pandas) will probably not be extra-listed in the Required Modules section.  
 +
 +However, there is no guarantee, that this install will be successful or that ALL of the required special modules have been listed in the header and that their versions will work together. If in doubt, you need to check the script in detail and go back to its sources to find out, what is missing.
 +
 +
  
 ==== Scripting ENVI-met apps in Python ==== ==== Scripting ENVI-met apps in Python ====
Line 40: Line 53:
 In addition, ENVI-met related objects are only available inside the ENVI-met DataStudio biotope. In the future we will also provide standalone packages for accessing fundamental operations such as reading and analysing EDX fies from other Python environments, but this is up-to-come. In addition, ENVI-met related objects are only available inside the ENVI-met DataStudio biotope. In the future we will also provide standalone packages for accessing fundamental operations such as reading and analysing EDX fies from other Python environments, but this is up-to-come.
  
-=====How to import python scripts from the website =====+=====How to import python scripts (from the website===== 
 + 
 +Python scripts for ENVI-met are normal Python scripts, but use the ending .enpy in most cases. Only for libraries, the ending .py must be kept in order to work with Python.  
  
 ==== Add scripts automatically ==== ==== Add scripts automatically ====