Fixed a bug where python 2.7.5 (default on CentOS 7) wasn't able to import
sqlalchemy, because on this version of Python ``exec "statement"`` and
``exec("statement")`` do not behave the same way. The compatibility
``exec_()`` function was used instead.
Fixes: #6069
Closes: #6112
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/6112
Pull-request-sha:
4e951f9278eb462d1432a92b7bad93b973e4e2a5
Change-Id: I34e00250e874368e83c3e992be80e989a3c4f054
--- /dev/null
+.. change::
+ :tags: bug, orm
+ :tickets: 6069
+
+ Fixed a bug where python 2.7.5 (default on CentOS 7) wasn't able to import
+ sqlalchemy, because on this version of Python ``exec "statement"`` and
+ ``exec("statement")`` do not behave the same way. The compatibility
+ ``exec_()`` function was used instead.
\ No newline at end of file
from .. import inspection
from .. import util
from ..util import collections_abc
+from ..util import compat
_closure_per_cache_key = util.LRUCache(1000)
code += " return %s\n" % ", ".join("i%d" % i for i in argrange)
code += " return closure.__closure__"
vars_ = {"o%d" % i: cell_values[i] for i in argrange}
- exec(code, vars_, vars_)
+ compat.exec_(code, vars_, vars_)
closure = vars_["make_cells"]()
func = type(f)(