[
https://issues.apache.org/jira/browse/ARROW-16233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17524344#comment-17524344
]
Alenka Frim edited comment on ARROW-16233 at 4/19/22 2:16 PM:
--------------------------------------------------------------
I will fix the test and add tzdata to the CI env first.
was (Author: alenkaf):
I will fix the test first and add tzdata to the CI env.
> [Python] [Packaging] test_zoneinfo_tzinfo_to_string fails with
> zoneinfo._common.ZoneInfoNotFoundError on packaging wheels on Windows
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: ARROW-16233
> URL: https://issues.apache.org/jira/browse/ARROW-16233
> Project: Apache Arrow
> Issue Type: Bug
> Components: Packaging, Python
> Reporter: Raúl Cumplido
> Assignee: Alenka Frim
> Priority: Blocker
> Fix For: 8.0.0
>
>
> Currently our nightly-packaging jobs for windows wheels are failing, see:
> - wheel-windows-cp310-amd64:
> URL:
> [https://github.com/ursacomputing/crossbow/tree/nightly-packaging-2022-04-18-0-github-wheel-windows-cp310-amd64]
> - wheel-windows-cp39-amd64:
> URL:
> [https://github.com/ursacomputing/crossbow/tree/nightly-packaging-2022-04-18-0-github-wheel-windows-cp39-amd64]
> The error is from the test:
> pyarrow\tests\test_types.py::test_zoneinfo_tzinfo_to_string, see the error
> logs below:
> {code:java}
> ================================== FAILURES
> ===================================
> _______________________ test_zoneinfo_tzinfo_to_string
> ________________________key = 'UTC' def load_tzdata(key):
> import importlib.resources
>
> components = key.split("/")
> package_name = ".".join(["tzdata.zoneinfo"] + components[:-1])
> resource_name = components[-1]
>
> try:
> > return importlib.resources.open_binary(package_name,
> > resource_name)Python\lib\zoneinfo\_common.py:12:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _package = 'tzdata.zoneinfo', resource = 'UTC' def open_binary(package:
> Package, resource: Resource) -> BinaryIO:
> """Return a file-like object opened for binary reading of the
> resource."""
> resource = _common.normalize_path(resource)
> > package =
> > _common.get_package(package)Python\lib\importlib\resources.py:43:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _package = 'tzdata.zoneinfo' def get_package(package):
> # type: (Package) -> types.ModuleType
> """Take a package name or module object and return the module.
>
> Raise an exception if the resolved module is not a package.
> """
> > resolved = resolve(package)Python\lib\importlib\_common.py:66:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _cand = 'tzdata.zoneinfo' def resolve(cand):
> # type: (Package) -> types.ModuleType
> > return cand if isinstance(cand, types.ModuleType) else
> > importlib.import_module(cand)Python\lib\importlib\_common.py:57:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _name = 'tzdata.zoneinfo', package = None def import_module(name,
> package=None):
> """Import a module.
>
> The 'package' argument is required when performing a relative import.
> It
> specifies the package to use as the anchor point from which to
> resolve the
> relative import to an absolute import.
>
> """
> level = 0
> if name.startswith('.'):
> if not package:
> msg = ("the 'package' argument is required to perform a
> relative "
> "import for {!r}")
> raise TypeError(msg.format(name))
> for character in name:
> if character != '.':
> break
> level += 1
> > return _bootstrap._gcd_import(name[level:], package,
> > level)Python\lib\importlib\__init__.py:126:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _name = 'tzdata.zoneinfo', package = None, level = 0> ???<frozen
> importlib._bootstrap>:1050:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _name = 'tzdata.zoneinfo', import_ = <function _gcd_import at
> 0x00000216E11A3490>> ???<frozen importlib._bootstrap>:1027:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _name = 'tzdata.zoneinfo', import_ = <function _gcd_import at
> 0x00000216E11A3490>> ???<frozen importlib._bootstrap>:992:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _f = <function _gcd_import at 0x00000216E11A3490>, args = ('tzdata',), kwds =
> {}> ???<frozen importlib._bootstrap>:241:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _name = 'tzdata', package = None, level = 0> ???<frozen
> importlib._bootstrap>:1050:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _name = 'tzdata', import_ = <function _gcd_import at 0x00000216E11A3490>>
> ???<frozen importlib._bootstrap>:1027:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _name = 'tzdata', import_ = <function _gcd_import at 0x00000216E11A3490>>
> ???
> E ModuleNotFoundError: No module named 'tzdata'<frozen
> importlib._bootstrap>:1004: ModuleNotFoundErrorDuring handling of the above
> exception, another exception occurred: def
> test_zoneinfo_tzinfo_to_string():
> zoneinfo = pytest.importorskip('zoneinfo')
>
> > tz =
> > zoneinfo.ZoneInfo('UTC')Python\lib\site-packages\pyarrow\tests\test_types.py:329:
> >
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _key = 'UTC' def load_tzdata(key):
> import importlib.resources
>
> components = key.split("/")
> package_name = ".".join(["tzdata.zoneinfo"] + components[:-1])
> resource_name = components[-1]
>
> try:
> return importlib.resources.open_binary(package_name,
> resource_name)
> except (ImportError, FileNotFoundError, UnicodeEncodeError):
> # There are three types of exception that can be raised that all
> amount
> # to "we cannot find this key":
> #
> # ImportError: If package_name doesn't exist (e.g. if tzdata is
> not
> # installed, or if there's an error in the folder name like
> # Amrica/New_York)
> # FileNotFoundError: If resource_name doesn't exist in the package
> # (e.g. Europe/Krasnoy)
> # UnicodeEncodeError: If package_name or resource_name are not
> UTF-8,
> # such as keys containing a surrogate character.
> > raise ZoneInfoNotFoundError(f"No time zone found with key {key}")
> E zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with
> key UTC'
> {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)