reubano / csv2ofx

A Python library and command line tool for converting csv to ofx and qif files
MIT License
199 stars 113 forks source link

Nose fails to run on Python 3.10 #104

Open jaraco opened 1 year ago

jaraco commented 1 year ago

I worked around the issue in #103 by downgrading to Python 3.10, but then found that tests were failing to run on Python 3.10:

(.venv)  csv2ofx feature/amazon-mapping $ .venv/bin/manage test
Traceback (most recent call last):
  File "/Users/jaraco/code/reubano/csv2ofx/.venv/bin/nosetests", line 8, in <module>
    sys.exit(run_exit())
  File "/Users/jaraco/code/reubano/csv2ofx/.venv/lib/python3.10/site-packages/nose/core.py", line 118, in __init__
    unittest.TestProgram.__init__(
  File "/opt/homebrew/Cellar/python@3.10/3.10.11/Frameworks/Python.framework/Versions/3.10/lib/python3.10/unittest/main.py", line 100, in __init__
    self.parseArgs(argv)
  File "/Users/jaraco/code/reubano/csv2ofx/.venv/lib/python3.10/site-packages/nose/core.py", line 179, in parseArgs
    self.createTests()
  File "/Users/jaraco/code/reubano/csv2ofx/.venv/lib/python3.10/site-packages/nose/core.py", line 193, in createTests
    self.test = self.testLoader.loadTestsFromNames(self.testNames)
  File "/Users/jaraco/code/reubano/csv2ofx/.venv/lib/python3.10/site-packages/nose/loader.py", line 481, in loadTestsFromNames
    return unittest.TestLoader.loadTestsFromNames(self, names, module)
  File "/opt/homebrew/Cellar/python@3.10/3.10.11/Frameworks/Python.framework/Versions/3.10/lib/python3.10/unittest/loader.py", line 220, in loadTestsFromNames
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/opt/homebrew/Cellar/python@3.10/3.10.11/Frameworks/Python.framework/Versions/3.10/lib/python3.10/unittest/loader.py", line 220, in <listcomp>
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/Users/jaraco/code/reubano/csv2ofx/.venv/lib/python3.10/site-packages/nose/loader.py", line 454, in loadTestsFromName
    return LazySuite(
  File "/Users/jaraco/code/reubano/csv2ofx/.venv/lib/python3.10/site-packages/nose/suite.py", line 53, in __init__
    super(LazySuite, self).__init__()
  File "/opt/homebrew/Cellar/python@3.10/3.10.11/Frameworks/Python.framework/Versions/3.10/lib/python3.10/unittest/suite.py", line 22, in __init__
    self._tests = []
  File "/Users/jaraco/code/reubano/csv2ofx/.venv/lib/python3.10/site-packages/nose/suite.py", line 106, in _set_tests
    if isinstance(tests, collections.Callable) and not is_suite:
AttributeError: module 'collections' has no attribute 'Callable'