pweave v0.25 doesn’t work with python 3.7.* and above. However, MetaPhlAn 3.0 and HUMAnN 3.0 require python 3.7.
I tried delving into pweave’s code and your code.
pweave’s code:
In your code you created the class PwebProcessorSpaces which is supposed to inherit the class PwebProcessor in pweave. However, PwebProcessor doesn’t exist in pweave v30.3.
You then override PwebProcessor’s function: loadinline() [lines 204-207, anadama2/document.py].
pweave v30.3 does have an abstract class PwebProcessorBase though. This class includes the function loadinline().
As such, I tried to replace the class PwebProcessor with PwebProcessorBase:
~/miniconda3/envs/$MY_ENV/lib/python3.7/site-packages/anadama2/document.py
lines 204-207
from pweave import PwebPandocFormatter, Pweb, PwebProcessor
.....
class PwebProcessorSpaces(PwebProcessor):
with:
from pweave import PwebPandocFormatter, Pweb, PwebProcessorBase
.....
class PwebProcessorSpaces(PwebProcessorBase):
However, I got the same error message as above:
ImportError: cannot import name 'PwebProcessorBase' from 'pweave'
I also saw that pweave also has the class PwebProcessors which basically builds one of two possible classes which are the children of the class PwebProcessorBase.
So I decided to switch again PwebProcessors with PwebProcessor in lines 204-207. This didn’t evoke an error message, however, the run still failed.
(Aug 11 19:13:57) [0/2 - 0.00%] **Ready ** Task 0: document
(Aug 11 19:13:57) [0/2 - 0.00%] **Started ** Task 0: document
Traceback (most recent call last):
File "~/miniconda3/envs/$MY_ENV/bin/wmgx_vis.py", line 133, in <module>
workflow.go()
File "~/miniconda3/envs/$MY_ENV/lib/python3.7/site-packages/anadama2/workflow.py", line 800, in go
self._handle_finished()
File "~/miniconda3/envs/$MY_ENV/lib/python3.7/site-packages/anadama2/workflow.py", line 832, in _handle_finished
raise RunFailed()
anadama2.workflow.RunFailed
Any other way to bypass this problem?