mims-harvard / nimfa

Nimfa: Nonnegative matrix factorization in Python
http://ai.stanford.edu/~marinka/nimfa/
Other
541 stars 135 forks source link

"Don't know how to make test" on Python 3.5 #42

Closed ashgillman closed 5 years ago

ashgillman commented 6 years ago

When running build_ext on Python 3.5

running build_ext
/tmp/nix-build-python3.5-nimfa-1.3.2.drv-0/nimfa-1.3.2/nimfa/examples/cbcl_images.py:98: UserWarning: PIL must be installed to run CBCL images example.
  warn("PIL must be installed to run CBCL images example.")
/tmp/nix-build-python3.5-nimfa-1.3.2.drv-0/nimfa-1.3.2/nimfa/examples/orl_images.py:110: UserWarning: PIL must be installed to run ORL images example.
  warn("PIL must be installed to run ORL images example.")
Traceback (most recent call last):
  File "nix_run_setup.py", line 8, in <module>
    exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
  File "setup.py", line 145, in <module>
    setup_package()
  File "setup.py", line 140, in setup_package
    'Programming Language :: Python :: 3',],
  File "/nix/store/3h0zjr4jnl7z7z6m33v9sk2ssswyw6ir-python3.5-bootstrapped-pip-9.0.1/lib/python3.5/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/nix/store/3h0zjr4jnl7z7z6m33v9sk2ssswyw6ir-python3.5-bootstrapped-pip-9.0.1/lib/python3.5/site-packages/setuptools/command/test.py", line 226, in run
    self.run_tests()
  File "/nix/store/3h0zjr4jnl7z7z6m33v9sk2ssswyw6ir-python3.5-bootstrapped-pip-9.0.1/lib/python3.5/site-packages/setuptools/command/test.py", line 248, in run_tests
    exit=False,
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/unittest/main.py", line 94, in __init__
    self.parseArgs(argv)
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/unittest/main.py", line 118, in parseArgs
    self._do_discovery(argv[2:])
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/unittest/main.py", line 229, in _do_discovery
    self.test = loader.discover(self.start, self.pattern, self.top)
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/unittest/loader.py", line 341, in discover
    tests = list(self._find_tests(start_dir, pattern))
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/unittest/loader.py", line 398, in _find_tests
    full_path, pattern, namespace)
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/unittest/loader.py", line 475, in _find_test_path
    tests = self.loadTestsFromModule(package, pattern=pattern)
  File "/nix/store/3h0zjr4jnl7z7z6m33v9sk2ssswyw6ir-python3.5-bootstrapped-pip-9.0.1/lib/python3.5/site-packages/setuptools/command/test.py", line 52, in loadTestsFromModule
    tests.append(self.loadTestsFromName(submodule))
  File "/nix/store/xbqvpwhj2c9gz28sdh3s543rnfg9ycb5-python3-3.5.4/lib/python3.5/unittest/loader.py", line 213, in loadTestsFromName
    raise TypeError("don't know how to make test from: %s" % obj)
TypeError: don't know how to make test from: {'sepnmf': <class 'nimfa.methods.factorization.sepnmf.SepNmf'>, 'snmnmf': <class 'nimfa.methods.factorization.snmnmf.Snmnmf'>, 'bd': <class 'nimfa.methods.factorization.bd.Bd'>, 'icm': <class 'nimfa.methods.factorization.icm.Icm'>, 'lfnmf': <class 'nimfa.methods.factorization.lfnmf.Lfnmf'>, 'lsnmf': <class 'nimfa.methods.factorization.lsnmf.Lsnmf'>, 'none': None, 'pmfcc': <class 'nimfa.methods.factorization.pmfcc.Pmfcc'>, 'bmf': <class 'nimfa.methods.factorization.bmf.Bmf'>, 'psmf': <class 'nimfa.methods.factorization.psmf.Psmf'>, 'nmf': <class 'nimfa.methods.factorization.nmf.Nmf'>, 'pmf': <class 'nimfa.methods.factorization.pmf.Pmf'>, 'snmf': <class 'nimfa.methods.factorization.snmf.Snmf'>, 'nsnmf': <class 'nimfa.methods.factorization.nsnmf.Nsnmf'>}

The error does not seem to present in Python 2.7.

marinkaz commented 5 years ago

Thanks! I did a clean installation on Python 3.5 but didn't see this issue. Closing this for now.