Requirements files
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.
requirements.txt
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 version2.22.0
.requests>=2.22.0
The package must be version2.22.0
or higher.requests<=2.22.0
The package must be version2.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.
Examples of requirements.txt
requirements.sh
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
Examples of requirements.sh
Last updated