A Skill's `requirements.txt` and `requirements.sh` files provide an alternative method to define the dependencies of a Mycroft Skill.
The older method of defining requirements is still available, and is present in the majority of Skills available in the Marketplace. This uses a requirements.txt and/or requirements.sh file.
The requirements.txt file can only be used to define Python package dependencies. It uses the standard Python PIP format to list Python packages from PyPI to install. Each line in the file represents a separate package to install and must match the title provided by PyPI.
The following example will install the latest available versions of the requests and gensim packages.
If specific versions of a package are required, we can use comparison operators to indicate which version.
requests==2.22.0 The package must must be version 2.22.0.
requests>=2.22.0 The package must be version 2.22.0 or higher.
requests<=2.22.0 The package must be version 2.22.0 or lower.
It is strongly recommended to only use these operators when required. If submitting a Skill to the Marketplace, you will be asked to provide reasoning as to why a specific version of a package is necessary.
The requirements.sh file may contain a shell script that is run during installation of the Skill. Shell scripting is beyond the scope of these documents, however there are many tutorials available online.
Prior to the manifest.yml file, this was the only method available to install system packages. If you are only installing packages, using the manifest.yml file instead is recommended.
The contents of this file will be checked carefully if a Skill is submitted for inclusion in the Skills Marketplace