pgfoster / p4-phylogenetics

A Python phyloinformatic toolkit, and an implementation of tree-heterogeneous models of evolution
GNU General Public License v2.0
29 stars 8 forks source link

python 3.10 SystemError #17

Closed ssolo closed 1 year ago

ssolo commented 1 year ago

There is apparently an issue with python 3.10 ..

~/src/p4-phylogenetics/share/Examples/B_readData/A_readVariousFormats $ p4 foo.1.7.aln
p4> var.alignments[0].composition()
[0.22012578616352202, 0.29245283018867924, 0.31761006289308175, 0.16981132075471697]
p4> Data()
Error pf_newPart: couldn't parse tuple
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/ssolo/src/p4-phylogenetics/p4/data.py", line 81, in __init__
    self._fill(var.alignments)
  File "/Users/ssolo/src/p4-phylogenetics/p4/data.py", line 143, in _fill
    a._initParts()
  File "/Users/ssolo/src/p4-phylogenetics/p4/alignment_part.py", line 69, in _initParts
    aPart.cPart = pf.newPart(len(self.sequences), self.length,
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats
pgfoster commented 1 year ago

Indeed it is a breaking change in python 3.10. I fixed it at the end of June, but neglected to push to github. Pushed now. Don't forget to re-make the pfmodule after you pull, possibly using make_pf.sh.