2017-05-29 5 views
0

Je travaille avec OpenEdx et je veux ajouter de nouvelles bibliothèques pour faire de nouvelles fonctionnalités. J'ai l'environnement DevStack Edx normal (fonctionne dans Docker).Ajout de nouvelles bibliothèques python à Edx Studio

Je veux ajouter google-api-python-client pour mon projet, donc j'ajouté ce paquet à: enter image description here

Après la reconstruction de l'image et exécutez le conteneur i avis sur ce colis dans des conteneurs respectifs: enter image description here

Où sont mes bibliothèques ? Il arrive seulement dans Studio, dans LMS tout va bien.

Alors: - Quelle est la bonne façon d'installer les paquets python externes?

Merci!

Répondre

0

J'ai réalisé que l'image originale n'a pas tous les paquets installés, et après exécuter les commandes LMS dans une copie de l'image originale la nouvelle image est différente de l'autre image: en CMS copie nous avons une image initiale sans autre changement, car n'existe pas d'autre changement.

Ainsi, pour installer les nouvelles exigences que nous avons créé un nouveau fichier pour elle où nous appliquons les commandes pour installer et migrez packages:

set -e 
set -o pipefail 
set -x 

# Bring Studio online 
docker-compose $DOCKER_COMPOSE_FILES up -d studio 

docker-compose exec studio bash -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PYTHON_UNINSTALL=1 paver install_prereqs' 

#Installing prereqs crashes the process 
docker-compose restart studio 

# Run edxapp migrations first since they are needed for the service users and OAuth clients 
docker-compose exec studio bash -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PREREQ_INSTALL=1 paver update_db --settings devstack_docker' 

docker-compose exec studio bash -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && paver update_assets --settings devstack_docker' 

Il est tout.