[FIX] namespace packages: move from pkg_resources-style to pkg_util
Deprecates the previous pkg_resources-style packages. Our use was not entirely spec compliant, and it broke with setuptools 31. More information in https://github.com/odoo/odoo/pull/15718 Instead, use the pkgutil-style namespace packages. This is spec compliant as long as all other distributions providing odoo.addons use PEP 420 namespace packages (i.e. no __init__.py). So this mechanism fully works on Python 3 only, but does not break anything on Python 2. See also: https://packaging.python.org/guides/packaging-namespace-packages/#pkgutil-style-namespace-packages Closes #19517 Fixes #1571816.0
parent
5d51950b59
commit
8bf06adc8d
1
odoo-bin
1
odoo-bin
|
@ -2,7 +2,6 @@
|
|||
|
||||
# set server timezone in UTC before time module imported
|
||||
__import__('os').environ['TZ'] = 'UTC'
|
||||
__import__('pkg_resources').declare_namespace('odoo.addons')
|
||||
import odoo
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
@ -3,6 +3,12 @@
|
|||
|
||||
""" OpenERP core library."""
|
||||
|
||||
#----------------------------------------------------------
|
||||
# odoo must be a namespace package for odoo.addons to become one too
|
||||
# https://packaging.python.org/guides/packaging-namespace-packages/
|
||||
#----------------------------------------------------------
|
||||
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Running mode flags (gevent, prefork)
|
||||
#----------------------------------------------------------
|
||||
|
|
|
@ -14,4 +14,7 @@ This module also conveniently reexports some symbols from odoo.modules.
|
|||
Importing them from here is deprecated.
|
||||
|
||||
"""
|
||||
__import__('pkg_resources').declare_namespace(__name__)
|
||||
# make odoo.addons a namespace package, while keeping this __init__.py
|
||||
# present, for python 2 compatibility
|
||||
# https://packaging.python.org/guides/packaging-namespace-packages/
|
||||
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
# set server timezone in UTC before time module imported
|
||||
__import__('os').environ['TZ'] = 'UTC'
|
||||
__import__('pkg_resources').declare_namespace('odoo.addons')
|
||||
import odoo
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
Loading…
Reference in New Issue