fedora-python / pyp2rpm

Tool to convert a package from PyPI to RPM SPECFILE or to generate SRPM.
MIT License
125 stars 39 forks source link

Function in metadata #97

Closed mcyprian closed 7 years ago

mcyprian commented 7 years ago

Running pyp2rpm numpy fails with following exception:

Traceback (most recent call last):
  File "setup.py", line 391, in <module>
    setup_package()
  File "setup.py", line 383, in setup_package
    setup(**metadata)
  File "/tmp/tmpqe85xcha/numpy-1.12.0b1/numpy/distutils/core.py", line 169, in setup
    return old_setup(**new_attr)
  File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/mcyprian/Codes/devel/pyp2rpm/command/extract_dist.py", line 51, in run
    sys.stdout.write("extracted json data:\n" + json.dumps(self.metadata))
  File "/usr/lib64/python2.7/json/__init__.py", line 244, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib64/python2.7/json/encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib64/python2.7/json/encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib64/python2.7/json/encoder.py", line 184, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <function generate_config_py at 0x7f9a5ce81230> is not JSON serializable

It seems function appears in metadata we try to serialize in extract_dist command. I think this is not very frequent case, but we should take a look.