将新的 python 个库添加到 Edx Studio
Adding new python libraries to Edx Studio
我正在使用 OpenEdx,我想添加新的库来实现新的功能。
我有正常的 DevStack Edx
环境(在 Docker
中工作)。
我想为我的项目添加 google-api-python-client
,所以我将这个包添加到:
重建映像和 运行 容器后,我在各自的容器中检查了这个包:
我的图书馆在哪里?
它只发生在 Studio
,在 LMS
一切都很好。
所以:
- 哪个是正确的外部 python 包安装方式?
谢谢!
我意识到原始图像没有安装所有包,在原始图像的副本中执行 运行 LMS
命令后,新图像与另一个图像不同:在 CMS
副本中,我们有一个没有其他更改的初始图像,因为不存在其他更改。
因此,为了安装新要求,我们为其创建了一个新文件,我们在其中应用安装和迁移包的命令:
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'
就这样了。
我正在使用 OpenEdx,我想添加新的库来实现新的功能。
我有正常的 DevStack Edx
环境(在 Docker
中工作)。
我想为我的项目添加 google-api-python-client
,所以我将这个包添加到:
重建映像和 运行 容器后,我在各自的容器中检查了这个包:
我的图书馆在哪里?
它只发生在 Studio
,在 LMS
一切都很好。
所以: - 哪个是正确的外部 python 包安装方式?
谢谢!
我意识到原始图像没有安装所有包,在原始图像的副本中执行 运行 LMS
命令后,新图像与另一个图像不同:在 CMS
副本中,我们有一个没有其他更改的初始图像,因为不存在其他更改。
因此,为了安装新要求,我们为其创建了一个新文件,我们在其中应用安装和迁移包的命令:
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'
就这样了。