I am trying to bind a volume of local repository to the openedx platform. But I cannot able to do that . After running tutor dev launch getting the below error. Can you please suggest a way to resolve this error?
Container tutor_dev-permissions-1 Started 0.9s
Performing additional setup for bind-mounted edx-platform.
-
pip install -e .
Obtaining file:///openedx/edx-platform
Preparing metadata (setup.py) … done
Requirement already satisfied: setuptools in /openedx/venv/lib/python3.8/site-packages (from Open-edX==0.13) (68.2.2)
Installing collected packages: Open-edX
Attempting uninstall: Open-edX
Found existing installation: Open-edX 0.13
Uninstalling Open-edX-0.13:
Successfully uninstalled Open-edX-0.13
Running setup.py develop for Open-edX
error: subprocess-exited-with-error× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [29 lines of output]
running develop
running egg_info
/openedx/venv/lib/python3.8/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /openedx/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() error: Cannot update time stamp of directory 'Open_edX.egg-info' [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
Rolling back uninstall of Open-edX
Moving to /openedx/venv/bin/xmodule_assets
from /tmp/pip-uninstall-o512ghqb/xmodule_assets
Moving to /openedx/venv/lib/python3.8/site-packages/Open-edX.egg-link
from /tmp/pip-uninstall-ikl1896v/Open-edX.egg-link
error: subprocess-exited-with-error
× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [29 lines of output]
running develop
running egg_info
/openedx/venv/lib/python3.8/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************
!!
easy_install.initialize_options(self)
/openedx/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
error: Cannot update time stamp of directory 'Open_edX.egg-info'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
[notice] A new release of pip is available: 23.2.1 → 24.2
[notice] To update, run: pip install --upgrade pip
Error: Command failed with status 1: docker compose -f /root/.local/share/tutor/env/local/docker-compose.yml -f /root/.local/share/tutor/env/dev/docker-compose.yml --project-name tutor_dev -f /root/.local/share/tutor/env/local/docker-compose.jobs.yml -f /root/.local/share/tutor/env/dev/docker-compose.jobs.yml run --rm lms-job sh -e -c # The initialization job contains various re-install operations needed to be done
on mounted directories (edx-platform, /mnt/*xblock, /mnt/<edx-ora, search, enterprise>)
1. /mnt/*
Whenever xblocks or other installable packages are mounted, during the image build, they are copied over to container
and installed. This results in egg_info generation for the mounted directories. However, the egg_info is not carried
over to host. When the containers are launched, the host directories without egg_info are mounted on runtime
and disappear from pip list.
2. edx-platform
When a new local copy of edx-platform is bind-mounted, certain build
artifacts from the openedx image’s edx-platform directory are lost.
We regenerate them here.
for mounted_dir in /mnt/; do
if [ -f $mounted_dir/setup.py ] && ! ls $mounted_dir/.egg-info >/dev/null 2>&1 ; then
echo “Unable to locate egg-info in $mounted_dir”
pip install -e $mounted_dir
fi
done
if [ -f /openedx/edx-platform/bindmount-canary ] ; then
# If this file exists, then edx-platform has not been bind-mounted,
# so no build artifacts need to be regenerated.
echo “Using edx-platform from image (not bind-mount).”
echo “No extra setup is required.”
exit
fi
echo “Performing additional setup for bind-mounted edx-platform.”
set -x # Echo out executed lines
Regenerate Open_edX.egg-info
pip install -e .
Regenerate node_modules
npm clean-install
Regenerate static assets.
openedx-assets build --env=dev
set -x
echo “Done setting up bind-mounted edx-platform.”