Move requirements.txt to a new requirements folder and add optional deps
Some dependencies aren't actually required but can be optionally installed for extra functionality. The Chromecast is an optional audio backend VLC is an optional audio backend pyalsaaudio is only used by the mark1 enclosure google-api-python-client is an optional STT backend, by default Mycroft uses the Mycroft serverspull/2575/head
parent
c9a2348a61
commit
531f78c499
|
@ -26,8 +26,6 @@ install:
|
|||
- mkdir ${TMPDIR}
|
||||
- echo ${TMPDIR}
|
||||
- VIRTUALENV_ROOT=${VIRTUAL_ENV} ./dev_setup.sh
|
||||
- pip install -r requirements.txt
|
||||
- pip install -r test-requirements.txt
|
||||
# command to run tests
|
||||
script:
|
||||
- pycodestyle mycroft test
|
||||
|
|
|
@ -208,4 +208,4 @@ Component licenses for mycroft-core:
|
|||
The mycroft-core software references various Python Packages (via PIP),
|
||||
each of which has a separate license. All are compatible with the
|
||||
Apache 2.0 license. See the referenced packages listed in the
|
||||
"requirements.txt" file for specific terms and conditions.
|
||||
"requirements/requirements.txt" file for specific terms and conditions.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
recursive-include mycroft/client/speech/recognizer/model *
|
||||
include requirements.txt
|
||||
include requirements/requirements.txt
|
||||
include mycroft/configuration/*.conf
|
||||
recursive-include mycroft/res *
|
||||
recursive-include mycroft/res/snd *
|
||||
|
|
22
dev_setup.sh
22
dev_setup.sh
|
@ -495,16 +495,28 @@ if ! grep -q "$TOP" $VENV_PATH_FILE ; then
|
|||
fi
|
||||
|
||||
# install required python modules
|
||||
if ! pip install -r requirements.txt ; then
|
||||
echo 'Warning: Failed to install all requirements. Continue? y/N'
|
||||
if ! pip install -r requirements/requirements.txt ; then
|
||||
echo 'Warning: Failed to install required dependencies. Continue? y/N'
|
||||
read -n1 continue
|
||||
if [[ $continue != 'y' ]] ; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! pip install -r test-requirements.txt ; then
|
||||
echo "Warning test requirements wasn't installed, Note: normal operation should still work fine..."
|
||||
# install optional python modules
|
||||
if [[ ! $(pip install -r requirements/extra-audiobackend.txt) ||
|
||||
! $(pip install -r requirements/extra-stt.txt) ||
|
||||
! $(pip install -r requirements/extra-mark1.txt) ]] ; then
|
||||
echo 'Warning: Failed to install some optional dependencies. Continue? y/N'
|
||||
read -n1 continue
|
||||
if [[ $continue != 'y' ]] ; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if ! pip install -r requirements/tests.txt ; then
|
||||
echo "Warning: Test requirements failed to install. Note: normal operation should still work fine..."
|
||||
fi
|
||||
|
||||
SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
|
||||
|
@ -563,4 +575,4 @@ if [[ ! -w /var/log/mycroft/ ]] ; then
|
|||
fi
|
||||
|
||||
#Store a fingerprint of setup
|
||||
md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed
|
||||
md5sum requirements/requirements.txt requirements/extra-audiobackend.txt requirements/extra-stt.txt requirements/extra-mark1.txt requirements/tests.txt dev_setup.sh > .installed
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
import subprocess
|
||||
import time
|
||||
import sys
|
||||
from alsaaudio import Mixer
|
||||
from threading import Thread, Timer
|
||||
|
||||
import mycroft.dialog
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
pychromecast==3.2.2
|
||||
python-vlc==1.1.2
|
|
@ -0,0 +1 @@
|
|||
pyalsaaudio==0.8.2
|
|
@ -0,0 +1 @@
|
|||
google-api-python-client==1.6.4
|
|
@ -7,16 +7,12 @@ SpeechRecognition==3.8.1
|
|||
tornado==6.0.3
|
||||
websocket-client==0.54.0
|
||||
requests-futures==0.9.5
|
||||
pyalsaaudio==0.8.2
|
||||
pyserial==3.0
|
||||
psutil==5.6.6
|
||||
pocketsphinx==0.1.0
|
||||
inflection==0.3.1
|
||||
pillow==7.1.2
|
||||
python-dateutil==2.6.0
|
||||
pychromecast==3.2.2
|
||||
python-vlc==1.1.2
|
||||
google-api-python-client==1.6.4
|
||||
fasteners==0.14.1
|
||||
PyYAML==5.1.2
|
||||
|
|
@ -7,3 +7,5 @@ sphinx==2.2.1
|
|||
sphinx-rtd-theme==0.4.3
|
||||
git+https://github.com/behave/behave@v1.2.7.dev1
|
||||
allure-behave==2.8.10
|
||||
|
||||
python-vlc==1.1.2
|
|
@ -144,7 +144,7 @@ function checkmimic() {
|
|||
# pythoning!
|
||||
function checkPIP() {
|
||||
mlog "Python checks"
|
||||
mlog " - Verifying ${MYCROFT_HOME}/requirements.txt:"
|
||||
mlog " - Verifying ${MYCROFT_HOME}/requirements/requirements.txt:"
|
||||
if workon mycroft ; then
|
||||
pip list > /tmp/mycroft-piplist.$$
|
||||
|
||||
|
|
7
setup.py
7
setup.py
|
@ -56,7 +56,12 @@ setup(
|
|||
author_email='devs@mycroft.ai',
|
||||
url='https://github.com/MycroftAI/mycroft-core',
|
||||
description='Mycroft Core',
|
||||
install_requires=required('requirements.txt'),
|
||||
install_requires=required('requirements/requirements.txt'),
|
||||
extras_require={
|
||||
'audio-backend': required('requirements/extra-audiobackend.txt'),
|
||||
'mark1': required('requirements/extra-mark1.txt'),
|
||||
'stt': required('requirements/extra-stt.txt')
|
||||
},
|
||||
packages=find_packages(include=['mycroft*']),
|
||||
include_package_data=True,
|
||||
|
||||
|
|
|
@ -64,12 +64,18 @@ RUN python3 -m venv "/opt/mycroft/mycroft-core/.venv"
|
|||
# determine if any changes have been made since it last started
|
||||
WORKDIR /opt/mycroft/mycroft-core
|
||||
RUN .venv/bin/python -m pip install pip==20.0.2
|
||||
COPY requirements.txt .
|
||||
COPY requirements/requirements.txt .
|
||||
RUN .venv/bin/python -m pip install -r requirements.txt
|
||||
COPY test-requirements.txt .
|
||||
RUN .venv/bin/python -m pip install -r test-requirements.txt
|
||||
COPY requirements/extra-audiobackend.txt .
|
||||
COPY requirements/extra-stt.txt .
|
||||
COPY requirements/extra-mark1.txt .
|
||||
RUN .venv/bin/python -m pip install -r extra-audiobackend.txt \
|
||||
&& .venv/bin/python -m pip install -r extra-stt.txt \
|
||||
&& .venv/bin/python -m pip install -r extra-mark1.txt
|
||||
COPY requirements/tests.txt .
|
||||
RUN .venv/bin/python -m pip install -r tests.txt
|
||||
COPY dev_setup.sh .
|
||||
RUN md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed
|
||||
RUN md5sum requirements.txt tests.txt extra-audiobackend.txt extra-stt.txt extra-mark1.txt dev_setup.sh > .installed
|
||||
|
||||
# Add the mycroft core virtual environment to the system path.
|
||||
ENV PATH /opt/mycroft/mycroft-core/.venv/bin:$PATH
|
||||
|
|
Loading…
Reference in New Issue