Open andrawaag opened 5 years ago
The problem is a combination of a bug in python 3.6 (and later?) setup code and the fact that we currently publish on pypi using python setup.py sdist
The docker image used by wikidataintegrator has a flag set to not generate python binary (.pyc) images. The setup.py bug manifests as, if it gets a source distro (w/o .pyc's) and this flag is set, python setup.py install
stops the install halfway through, making it look like the module has been installed (the .egg exists in site-packages) without actually adding the module. Wikidataintegrator (for reasons not fully understood) follows the python setup.py install
with pip install -r requirements.txt
. Since the setup step shows that pyshexc
was installed, pip does not re-install.
A short term workaround is that wikidataintegrator needs to do pip install
before it does python setup.py install
, assuming that the latter command is needed at all.
A longer term fix is to change the install process to use python setup.py bdist
instead of sdist
.
as per https://github.com/SuLab/GeneWikiCentral/issues/110 a recent change in prefilxlib made WDI fail.
py3.6.egg/wikidataintegrator/wdi_core.py", line 16, in <module> File "/var/lib/jenkins/workspace/DO_Robot/venv/local/lib/python3.6/site-packages/PyShEx-0.7.3-py3.6.egg/pyshex/__init__.py", line 1, in <module> File "/var/lib/jenkins/workspace/DO_Robot/venv/local/lib/python3.6/site-packages/PyShEx-0.7.3-py3.6.egg/pyshex/prefixlib.py", line 4, in <module> ModuleNotFoundError: No module named 'pyshexc'