appnexus / pyrobuf

A Cython alternative to Google's Python Protobuf library
Other
554 stars 76 forks source link

Fix broken setuptools_ext #146

Closed alekna closed 4 years ago

alekna commented 4 years ago

Current implementation fails both on Python 2.7 and Python 3.x


$ cat setup.py 
from setuptools import setup, find_packages

setup(
    name="sample",
    version="0.1",
    packages=find_packages(),
    description="A sample package",
    install_requires=['pyrobuf'],
    setup_requires=['pyrobuf'],
    pyrobuf_modules="proto"
)

$ python setup.py install
generating p
Traceback (most recent call last):
  File "setup.py", line 10, in <module>
    pyrobuf_modules="proto"
  File "/home/lauris/v4/sample/venv/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.7/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/home/lauris/v4/sample/venv/lib/python3.7/site-packages/setuptools/dist.py", line 448, in __init__
    k: v for k, v in attrs.items()
  File "/usr/lib/python3.7/distutils/dist.py", line 292, in __init__
    self.finalize_options()
  File "/home/lauris/v4/sample/venv/lib/python3.7/site-packages/setuptools/dist.py", line 740, in finalize_options
    ep.load()(self)
  File "/home/lauris/v4/sample/venv/lib/python3.7/site-packages/setuptools/dist.py", line 747, in _finalize_setup_keywords
    ep.load()(self, ep.name, value)
  File "/home/lauris/v4/sample/.eggs/pyrobuf-0.9.0-py3.7-linux-x86_64.egg/pyrobuf/setuptools_ext.py", line 25, in pyrobuf_modules
    add_pyrobuf_module(dist, pyrobuf_module)
  File "/home/lauris/v4/sample/.eggs/pyrobuf-0.9.0-py3.7-linux-x86_64.egg/pyrobuf/setuptools_ext.py", line 15, in add_pyrobuf_module
    compiler.extend(dist)
  File "/home/lauris/v4/sample/.eggs/pyrobuf-0.9.0-py3.7-linux-x86_64.egg/pyrobuf/compile.py", line 99, in extend
    self._compile_spec()
  File "/home/lauris/v4/sample/.eggs/pyrobuf-0.9.0-py3.7-linux-x86_64.egg/pyrobuf/compile.py", line 121, in _compile_spec
    self._generate(source)
  File "/home/lauris/v4/sample/.eggs/pyrobuf-0.9.0-py3.7-linux-x86_64.egg/pyrobuf/compile.py", line 133, in _generate
    msg_def = self.parser.parse_from_filename(filename, self.includes)
  File "/home/lauris/v4/sample/.eggs/pyrobuf-0.9.0-py3.7-linux-x86_64.egg/pyrobuf/parse_proto.py", line 255, in parse_from_filename
    with open(fname, 'r') as fp:
FileNotFoundError: [Errno 2] No such file or directory: 'p'```
echoix commented 4 years ago

Could this change be uploaded to PyPI? The conda-forge version can't be updated since it isn't there yet. I'm waiting for this to be able to package my project!

echoix commented 4 years ago

Also, it could be useful to add tags and releases to this project, matching the package version in the setup.py variable.

alekna commented 4 years ago

Hi @tburmeister, could you please build and upload 0.9.1 to pypi? Thanks!

tburmeister commented 4 years ago

@alekna Sorry for the delay on this - I just uploaded 0.9.1 to PyPI.