chtd / psycopg2cffi

Port to cffi with some speed improvements
Other
177 stars 43 forks source link

Build fails on python3.7 due to usage of async keyword #99

Closed farrokhi closed 5 years ago

farrokhi commented 6 years ago

Build fails due to usage of async keyword as function name:

% python3.7 setup.py build
Traceback (most recent call last):
  File "setup.py", line 126, in <module>
    setup(**setup_kwargs)
  File "/usr/local/lib/python3.7/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/usr/local/lib/python3.7/site-packages/setuptools/dist.py", line 370, in __init__
    k: v for k, v in attrs.items()
  File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/dist.py", line 292, in __init__
    self.finalize_options()
  File "/usr/local/lib/python3.7/site-packages/setuptools/dist.py", line 529, in finalize_options
    ep.load()(self, ep.name, value)
  File "/Users/farrokhi/dev/psycopg2cffi/.eggs/cffi-1.11.5-py3.7-macosx-10.13-x86_64.egg/cffi/setuptools_ext.py", line 204, in cffi_modules
    add_cffi_module(dist, cffi_module)
  File "/Users/farrokhi/dev/psycopg2cffi/.eggs/cffi-1.11.5-py3.7-macosx-10.13-x86_64.egg/cffi/setuptools_ext.py", line 49, in add_cffi_module
    execfile(build_file_name, mod_vars)
  File "/Users/farrokhi/dev/psycopg2cffi/.eggs/cffi-1.11.5-py3.7-macosx-10.13-x86_64.egg/cffi/setuptools_ext.py", line 25, in execfile
    exec(code, glob, glob)
  File "psycopg2cffi/_impl/_build_libpq.py", line 171, in <module>
    _config = PostgresConfig()
  File "psycopg2cffi/_impl/_build_libpq.py", line 22, in __init__
    from psycopg2cffi import _config
  File "/Users/farrokhi/dev/psycopg2cffi/psycopg2cffi/__init__.py", line 4, in <module>
    from psycopg2cffi import extensions
  File "/Users/farrokhi/dev/psycopg2cffi/psycopg2cffi/extensions.py", line 39, in <module>
    from psycopg2cffi._impl import connection as _connection
  File "/Users/farrokhi/dev/psycopg2cffi/psycopg2cffi/_impl/connection.py", line 328
    def async(self):
            ^
SyntaxError: invalid syntax
ramiamar commented 5 years ago

+1

Here's another example:

$ pip3 install --upgrade psycopg2cffi
Collecting psycopg2cffi
  Using cached https://files.pythonhosted.org/packages/5c/a9/db1c98e7fbe2530268a3a51160ca5647d7ed3e190a216e4a125b1950297d/psycopg2cffi-2.7.7.tar.gz
    Complete output from command python setup.py egg_info:
    warning: no previously-included files matching 'yacctab.*' found under directory 'tests'
    warning: no previously-included files matching 'lextab.*' found under directory 'tests'
    warning: no previously-included files matching 'yacctab.*' found under directory 'examples'
    warning: no previously-included files matching 'lextab.*' found under directory 'examples'
    zip_safe flag not set; analyzing archive contents...
    pycparser.ply.__pycache__.lex.cpython-37: module references __file__
    pycparser.ply.__pycache__.lex.cpython-37: module MAY be using inspect.getsourcefile
    pycparser.ply.__pycache__.yacc.cpython-37: module references __file__
    pycparser.ply.__pycache__.yacc.cpython-37: module MAY be using inspect.getsourcefile
    pycparser.ply.__pycache__.yacc.cpython-37: module MAY be using inspect.stack
    pycparser.ply.__pycache__.ygen.cpython-37: module references __file__

    Installed /private/var/folders/jr/b6rqdlpx7t39s70nvsvlcvzw0000gn/T/pip-install-k4k4rpgh/psycopg2cffi/.eggs/pycparser-2.18-py3.7.egg
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/jr/b6rqdlpx7t39s70nvsvlcvzw0000gn/T/pip-install-k4k4rpgh/psycopg2cffi/setup.py", line 126, in <module>
        setup(**setup_kwargs)
      File "/usr/local/lib/python3.7/site-packages/setuptools/__init__.py", line 131, in setup
        return distutils.core.setup(**attrs)
      File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "/usr/local/lib/python3.7/site-packages/setuptools/dist.py", line 370, in __init__
        k: v for k, v in attrs.items()
      File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/dist.py", line 292, in __init__
        self.finalize_options()
      File "/usr/local/lib/python3.7/site-packages/setuptools/dist.py", line 529, in finalize_options
        ep.load()(self, ep.name, value)
      File "/private/var/folders/jr/b6rqdlpx7t39s70nvsvlcvzw0000gn/T/pip-install-k4k4rpgh/psycopg2cffi/.eggs/cffi-1.11.5-py3.7-macosx-10.13-x86_64.egg/cffi/setuptools_ext.py", line 204, in cffi_modules
        add_cffi_module(dist, cffi_module)
      File "/private/var/folders/jr/b6rqdlpx7t39s70nvsvlcvzw0000gn/T/pip-install-k4k4rpgh/psycopg2cffi/.eggs/cffi-1.11.5-py3.7-macosx-10.13-x86_64.egg/cffi/setuptools_ext.py", line 49, in add_cffi_module
        execfile(build_file_name, mod_vars)
      File "/private/var/folders/jr/b6rqdlpx7t39s70nvsvlcvzw0000gn/T/pip-install-k4k4rpgh/psycopg2cffi/.eggs/cffi-1.11.5-py3.7-macosx-10.13-x86_64.egg/cffi/setuptools_ext.py", line 25, in execfile
        exec(code, glob, glob)
      File "psycopg2cffi/_impl/_build_libpq.py", line 171, in <module>
        _config = PostgresConfig()
      File "psycopg2cffi/_impl/_build_libpq.py", line 22, in __init__
        from psycopg2cffi import _config
      File "/private/var/folders/jr/b6rqdlpx7t39s70nvsvlcvzw0000gn/T/pip-install-k4k4rpgh/psycopg2cffi/psycopg2cffi/__init__.py", line 44
        connection_factory=None, cursor_factory=None, async=False, **kwargs):
                                                          ^
    SyntaxError: invalid syntax

    ----------------------------------------
farrokhi commented 5 years ago

@ramiamar would you mind testing above patch and see if it works for you?

farrokhi commented 5 years ago

Thank you. And hope that you tag a new release soon so that we can also update the FreeBSD port (and packages in other *nixes) soon.

lopuhin commented 5 years ago

@farrokhi thanks for doing that! I'll make a release once https://github.com/chtd/psycopg2cffi/pull/102 lands (hopefully today)

lopuhin commented 5 years ago

I tagged 2.8.0, will upload to PyPI a bit later (need to re-configure PyPI stuff)

lopuhin commented 5 years ago

And 2.8.1 released now (same as 2.8.0, just with a release date filled in)

farrokhi commented 5 years ago

Thank you! I will start updating the port right away.