XBlock is listed as a dependency in requirements files for xblock-sdk, xblock-utils, and problem-builder itself. These files list different (but compatible) versions of the XBlock repo. Because of that, XBlock gets installed multiple times when installing dependencies for CircleCI builds. Starting with setuptools 25.0.0, the behavior for installing packages on top of existing installs changed; see https://github.com/pypa/setuptools/issues/729 for an example issue that this change in behavior caused. For problem-builder CI builds, the issue was that after installing all dependencies, the egg link for XBlock ended up pointing to the installation of problem-builder itself, creating a situation where the code that ships with XBlock was not accessible from modules that depend on it. This caused imports for any classes defined in the XBlock repo to fail, and CircleCI builds errored out. To fix this, we temporarily pin setuptools to the most recent version that does not exhibit this behavior (24.3.1). An upstream fix seems to be underway (via https://github.com/pypa/pip/pull/3904), but it hasn't been merged/released yet.
Name |
Last commit
|
Last update |
---|---|---|
conf/locale | Loading commit data... | |
doc | Loading commit data... | |
problem_builder | Loading commit data... | |
screenshots/baseline | Loading commit data... | |
.gitignore | Loading commit data... | |
.gitmodules | Loading commit data... | |
.pep8 | Loading commit data... | |
AUTHORS | Loading commit data... | |
LICENSE | Loading commit data... | |
LICENSE.MIT | Loading commit data... | |
README.md | Loading commit data... | |
circle.yml | Loading commit data... | |
pylintrc | Loading commit data... | |
requirements.txt | Loading commit data... | |
run_tests.py | Loading commit data... | |
setup.py | Loading commit data... | |
test_requirements.txt | Loading commit data... |