I'm working with OpenEdx and i want add new libraries for make new funtionalities.
I have the normal DevStack Edx
environment (work in Docker
).
I want add google-api-python-client
for my project, so i added this package to:
After rebuild the image and run the container i review this packages in respective containers:
Where are my libraries?
It only happen in Studio
, in LMS
all is well.
So: - Which is the correct external python packages installation's way?
Thank you!
I realised that the original image haven't all packages installed, and after to run the LMS
commands in a copy of the original image the new image is different from the other image: in CMS
copy we have a initial image without other change, because doesn't exist other change.
So, for install the new requirements we created a new file for it where we apply the commands for install and migrate 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'
It's all.