PyICU project repository

Overview

README file for PyICU

Welcome

Welcome to PyICU, a Python extension wrapping the ICU C++ libraries.

ICU stands for "International Components for Unicode". These are the i18n libraries of the Unicode Consortium. They implement much of the Unicode Standard, many of its companion Unicode Technical Standards, and much of Unicode CLDR.

The PyICU source code is hosted on GitHub at https://github.com/ovalhub/pyicu.

The ICU homepage is http://site.icu-project.org/

See also the CLDR homepage at http://cldr.unicode.org/

Building PyICU

Before building PyICU the ICU libraries must be built and installed. Refer to each system's instructions for more information.

PyICU is built with distutils or setuptools:

  • verify that the icu-config program is available or that the INCLUDES, LFLAGS, CFLAGS and LIBRARIES dictionaries in setup.py contain correct values for your platform. Starting with ICU 60, -std=c++11 must appear in your CFLAGS.
  • python setup.py build
  • sudo python setup.py install

Running PyICU

  • Mac OS X Make sure that DYLD_LIBRARY_PATH contains paths to the directory(ies) containing the ICU libs.

  • Linux & Solaris Make sure that LD_LIBRARY_PATH contains paths to the directory(ies) containing the ICU libs or that you added the corresponding -rpath argument to LFLAGS.

  • Windows Make sure that PATH contains paths to the directory(ies) containing the ICU DLLs.

What's available

See the CHANGES file for an up to date log of changes and additions.

API Documentation

There is no API documentation for PyICU. The API for ICU is documented at http://icu-project.org/apiref/icu4c/ and the following patterns can be used to translate from the C++ APIs to the corresponding Python APIs.

strings

The ICU string type, UnicodeString, is a type pointing at a mutable array of UChar Unicode 16-bit wide characters. The Python unicode type is an immutable string of 16-bit or 32-bit wide Unicode characters.

Because of these differences, UnicodeString and Python's unicode type are not merged into the same type when crossing the C++ boundary. ICU APIs taking UnicodeString arguments have been overloaded to also accept Python str or unicode type arguments. In the case of str objects, the utf-8 encoding is assumed when converting them to UnicodeString objects.

To convert a Python str encoded in an encoding other than utf-8 to an ICU UnicodeString use the UnicodeString(str, encodingName) constructor.

ICU's C++ APIs accept and return UnicodeString arguments in several ways: by value, by pointer or by reference. When an ICU C++ API is documented to accept a UnicodeString reference parameter, it is safe to assume that there are several corresponding PyICU python APIs making it accessible in simpler ways:

For example, the 'UnicodeString &Locale::getDisplayName(UnicodeString &)' API, documented at http://icu-project.org/apiref/icu4c/classLocale.html can be invoked from Python in several ways:

  1. The ICU way

     >>> from icu import UnicodeString, Locale
     >>> locale = Locale('pt_BR')
     >>> string = UnicodeString()
     >>> name = locale.getDisplayName(string)
     >>> name
     <UnicodeString: Portuguese (Brazil)>
     >>> name is string
     True                  <-- string arg was returned, modified in place
    
  2. The Python way

     >>> from icu import Locale
     >>> locale = Locale('pt_BR')
     >>> name = locale.getDisplayName()
     >>> name
     u'Portuguese (Brazil)'
    

    A UnicodeString object was allocated and converted to a Python unicode object.

A UnicodeString can be coerced to a Python unicode string with Python's unicode() constructor. The usual len(), str(), comparison, [] and [:] operators are all available, with the additional twists that slicing is not read-only and that += is also available since a UnicodeString is mutable. For example:

>>> name = locale.getDisplayName()
u'Portuguese (Brazil)'
>>> name = UnicodeString(name)
>>> name
<UnicodeString: Portuguese (Brazil)>
>>> unicode(name)
u'Portuguese (Brazil)'
>>> len(name)
19
>>> str(name)           <-- works when chars fit with default encoding
'Portuguese (Brazil)'
>>> name[3]
u't'
>>> name[12:18]
<UnicodeString: Brazil>
>>> name[12:18] = 'the country of Brasil'
>>> name
<UnicodeString: Portuguese (the country of Brasil)>
>>> name += ' oh joy'
>>> name
<UnicodeString: Portuguese (the country of Brasil) oh joy>

error reporting

The C++ ICU library does not use C++ exceptions to report errors. ICU C++ APIs return errors via a UErrorCode reference argument. All such APIs are wrapped by Python APIs that omit this argument and throw an ICUError Python exception instead. The same is true for ICU APIs taking both a ParseError and a UErrorCode, they are both to be omitted.

For example, the 'UnicodeString &DateFormat::format(const Formattable &, UnicodeString &, UErrorCode &)' API, documented at http://icu-project.org/apiref/icu4c/classDateFormat.html is invoked from Python with:

>>> from icu import DateFormat, Formattable
>>> df = DateFormat.createInstance()
>>> df
<SimpleDateFormat: M/d/yy h:mm a>
>>> f = Formattable(940284258.0, Formattable.kIsDate)
>>> df.format(f)
u'10/18/99 3:04 PM'

Of course, the simpler 'UnicodeString &DateFormat::format(UDate, UnicodeString &)' documented here: http://icu-project.org/apiref/icu4c/classDateFormat.html can be used too:

>>> from icu import DateFormat
>>> df = DateFormat.createInstance()
>>> df
<SimpleDateFormat: M/d/yy h:mm a>
>>> df.format(940284258.0)
u'10/18/99 3:04 PM'

dates

ICU uses a double floating point type called UDate that represents the number of milliseconds elapsed since 1970-jan-01 UTC for dates.

In Python, the value returned by the time module's time() function is the number of seconds since 1970-jan-01 UTC. Because of this difference, floating point values are multiplied by 1000 when passed to APIs taking UDate and divided by 1000 when returned as UDate.

Python's datetime objects, with or without timezone information, can also be used with APIs taking UDate arguments. The datetime objects get converted to UDate when crossing into the C++ layer.

arrays

Many ICU API take array arguments. A list of elements of the array element types is to be passed from Python.

StringEnumeration

An ICU StringEnumeration has three next methods: next() which returns a str objects, unext() which returns unicode objects and snext() which returns UnicodeString objects. Any of these methods can be used as an iterator, using the Python built-in iter function.

For example, let e be a StringEnumeration instance::

[s for s in e] is a list of 'str' objects
[s for s in iter(e.unext, None)] is a list of 'unicode' objects
[s for s in iter(e.snext, None)] is a list of 'UnicodeString' objects

timezones

The ICU TimeZone type may be wrapped with an ICUtzinfo type for usage with Python's datetime type. For example::

tz = ICUtzinfo(TimeZone.createTimeZone('US/Mountain'))
datetime.now(tz)

or, even simpler::

tz = ICUtzinfo.getInstance('Pacific/Fiji')
datetime.now(tz)

To get the default time zone use::

defaultTZ = ICUtzinfo.getDefault()

To get the time zone's id, use the tzid attribute or coerce the time zone to a string::

ICUtzinfo.getInstance('Pacific/Fiji').tzid -> 'Pacific/Fiji'
str(ICUtzinfo.getInstance('Pacific/Fiji')) -> 'Pacific/Fiji'
Comments
  • Expand Travis-CI scope

    Expand Travis-CI scope

    This is intended to address and close issue #117.

    This PR will take many iterations to get correct, so I have prefixed the title with WIP to indicate it is a work-in-progress. I will remove WIP when I think it is read to merge.

    • [x] Testing against multiple icu4c versions
    • [x] Testing against multiple Python versions
    • [x] Testing on Linux
    • [x] Testing on macos
    • [ ] Testing on Windows
    • ~~On Linux, testing against both clang and GCC (not sure if this is needed?)~~
    opened by SethMMorton 56
  • compile errors with pyicu  1.9.2 using visual studio community 2015 on windows 10

    compile errors with pyicu 1.9.2 using visual studio community 2015 on windows 10

    The problem occurs with: - visual studio community 2015 - windows 10 amd64 4-processor dell - python 3.5.0 win32 python. Note that vc 2015 compiles amd64 bit code but blocks execution at run-time. - icu 55 and 56 win32 builds

    The problem does not occur when I use visual C++ 2010 express, I just verified this on my win7 machine. BUT - unfortunately I no longer have the vs 2010 express install package, - I can no longer find a means to download visual C++ 2010 express from a credible site. If I can't get it from microsoft directly then I probably don't want it, and MS probably is discouraging use at this point. - documentation for VS community 2015 indicates that visual C++ express 2010 is accessible "in" VS community 2015. I have not figured out how at this point.

    Regardless it appears that python 3.5.0 is now using VS 2015 in production to compile from source.

    Here is my compile output (I tried attaching but git hub declared, "Something went really wrong...")

    It occurs to me that I should try installing VS 2015 on my win7 machine to see if by chance the compilation works there.

    There are 4 instances of a single type error in a function/method within the pyicu calendar.cpp module

    c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2>C:\Users\xxxxxx\bryllyg\opt\python\Python-3.5.0\PCbuild\win32\python.exe setup.py build --debug C:\Users\xxxxxx\bryllyg\opt\python\Python-3.5.0\PCbuild\win32\python.exe setup.py build --debug running build running build_py running build_ext building '_icu' extension C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Od /MDd /Zi /W3 /D_DEBUG -IC:\Users\xxxxxx\bryllyg\opt\icu\56.1\icu\include -IC:\Users\xxxxxx\bryllyg\opt\python\Python-3.5.0\include -IC:\Users\xxxxxx\bryllyg\opt\python\Python-3.5.0\PC "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /EHsc /Tpc:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\bases.cpp /Fobuild\temp.win32-3.5\Debug\bases.obj /Zc:wchar_t /EHsc /DPYICU_VER="1.9.2" /Od /DDEBUG bases.cpp C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Od /MDd /Zi /W3 /D_DEBUG -IC:\Users\xxxxxx\bryllyg\opt\icu\56.1\icu\include -IC:\Users\xxxxxx\bryllyg\opt\python\Python-3.5.0\include -IC:\Users\xxxxxx\bryllyg\opt\python\Python-3.5.0\PC "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /EHsc /Tpc:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp /Fobuild\temp.win32-3.5\Debug\calendar.obj /Zc:wchar_t /EHsc /DPYICU_VER="1.9.2" /Od /DDEBUG calendar.cpp

    c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp(353): error C2664: 'icu_56::UnicodeString &icu_56::TimeZone::getDisplayName(UBool *(__cdecl *)(void),icu_56::TimeZone::EDisplayType,const icu_56::Locale &,icu_56::UnicodeString &) const': cannot convert argument 1 from 'UBool' to 'UBool *(__cdecl *)(void)' c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp(353): note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

    c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp(367): error C2664: 'icu_56::UnicodeString &icu_56::TimeZone::getDisplayName(UBool *(__cdecl *)(void),icu_56::TimeZone::EDisplayType,const icu_56::Locale &,icu_56::UnicodeString &) const': cannot convert argument 1 from 'UBool' to 'UBool *(__cdecl *)(void)' c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp(367): note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp(372): error C2664: 'icu_56::UnicodeString &icu_56::TimeZone::getDisplayName(UBool *(__cdecl *)(void),icu_56::TimeZone::EDisplayType,const icu_56::Locale &,icu_56::UnicodeString &) const': cannot convert argument 1 from 'UBool' to 'UBool *(__cdecl *)(void)' c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp(372): note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp(380): error C2664: 'icu_56::UnicodeString &icu_56::TimeZone::getDisplayName(UBool *(__cdecl *)(void),icu_56::TimeZone::EDisplayType,const icu_56::Locale &,icu_56::UnicodeString &) const': cannot convert argument 1 from 'UBool' to 'UBool *(__cdecl *)(void)' c:\Users\xxxxxx\bryllyg\opt\icu\56.1\pyicu_1.9.2\calendar.cpp(380): note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast C:\Users\xxxxxx\bryllyg\opt\python\Python-3.5.0\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe' failed with exit status

    opened by maveryKearney 32
  • PyICU 2.0.2 fails to build on OS X

    PyICU 2.0.2 fails to build on OS X

    After having finally figured out how to successfully build PyICU 1.9.8 with ICU 60.2 on OS X with Python 3.6.4, building PyICU 2.0.2 again fails with the following error:

        Complete output from command python setup.py egg_info:
        
        Building PyICU 2.0.2 for ICU 60.2
        
        Could not configure CXXFLAGS with icu-config
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/59/18ktbnzd1nq82_537cj3lmj40000gn/T/pip-build-ldpmxq8e/pyicu/setup.py", line 131, in <module>
            _cflags, ('--cxxflags', '--cppflags'), 'CXXFLAGS')
          File "/private/var/folders/59/18ktbnzd1nq82_537cj3lmj40000gn/T/pip-build-ldpmxq8e/pyicu/setup.py", line 30, in configure_with_icu_config
            output = check_output(('icu-config',) + config_args).strip()
          File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 336, in check_output
            **kwargs).stdout
          File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 403, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 709, in __init__
            restore_signals, start_new_session)
          File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1344, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config': 'icu-config'
        
        ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/59/18ktbnzd1nq82_537cj3lmj40000gn/T/pip-build-ldpmxq8e/pyicu/
    

    I would be grateful for any information how to get this working again.

    opened by workflowsguy 29
  • segmentation fault on import with OS X

    segmentation fault on import with OS X

    Running this script with the pypy from pypy.org and icu installed from macports:

    #!/bin/bash
    
    set -e
    
    curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-13.0.1.tar.gz
    tar xvfz virtualenv-13.0.1.tar.gz
    cd virtualenv-13.0.1
    ~/py/pypy/bin/pypy virtualenv.py myVE
    
    cd myVE
    export PYICU_INCLUDES=/opt/local/include
    export PYICU_LFLAGS=-L/opt/local/lib
    ./bin/pip install PyICU
    ./bin/pypy -c 'import icu'
    

    results in this:

    ./test.sh: line 14: 73312 Segmentation fault: 11  ./bin/pypy -c 'import icu'
    

    Would be happy to provide any more info that might help resolve the issue.

    opened by jinty 21
  • Please use pkg-config to detect icu

    Please use pkg-config to detect icu

    icu-config has been deprecated by its upstream developers for some years now. In icu 63.1, icu-config is optional to install, but installed by default. In the next version, icu-config will no longer be installed by default.

    The developers recommend downstream packages use pkg-config to detect the icu libraries.

    Please let me know if you need any help with this change.

    opened by hughmcmaster 19
  • Option to bundle ICU with the extension?

    Option to bundle ICU with the extension?

    Hi, I'd like to know your stance on (optionally) bundling ICU for distribution via PyPI. The goal is to make it possible for users to just pip install pyicu and be ready to go on the major platforms Windows, Linux and macOS. This would probably imply setting the pyicu version number to match ICU's. The main problem will probably be the 30 MB you'd have to put in a wheel, the second problem the build system used by ICU... so. Opinions? Better ideas?

    opened by madig 19
  • ENH:Create universal wheel on PyPi for `pyicu`

    ENH:Create universal wheel on PyPi for `pyicu`

    If this is too instructive, forgive me. Just wanted to require minimal effort from original author since this is me asking you to add something to your repository.

    Summary of Merge Request

    @ovalhub, this merge request creates a “Universal Wheel” to resolve an issue on the MacOS where pyicu's inability to fully install via pip install pyicu causes an error with polyglot, which is a multilingual NLP library created by @aboSamoor .

    Details of Request

    Request @ovalhub accept merge request, and run the following commands to update the PyICU PyPi packaging. This will include a universal wheel in the File section.

    The problem encountered and fix are discussed in detail here.

    What's the Change?

    Just created a simple setup.cfg file as described in the Universal Wheels section of the Python Packaging User Guide. The exact content of the simple setup.cfg file is here.

    How to "update" your Packaging

    After this file is in the master pyicu repository, you run the following commands, as described in the Packaging User Guide:

    >>> cd pyicu
    >>> python setup.py bdist_wheel --universal  # create the universal wheel 
    >>> python setup.py bdist_wheel # creates platform specific wheel just in case
    

    Now, the last step is just uploading the distribution to PyPi. If you use twine (recommended approach, see here for security discussion):

    >>> twine upload dist/*
    

    Or the setuptools alternative (not recommended, see here for security discussion):

    >>> python setup.py sdist bdist_wheel upload
    

    This should solve one of the problems discussed in the polyglot issue.

    opened by linwoodc3 18
  • Can't install pyicu in my mac. Error: library not found for -licule

    Can't install pyicu in my mac. Error: library not found for -licule

    Hi, So I'm having some troubles installing pyicu in my mac. I'm running the following command:

    CFLAGS='-I/usr/local/opt/icu4c/include -I/opt/local/include' LDFLAGS=-L/usr/local/opt/icu4c/lib pip install pyicu

    and it results in the error:

    ld: library not found for -licule

    Which library is this licule?

    opened by miguelwon 16
  • testSurrogatePairs test fails with 1.9.8 and ICU 60.1

    testSurrogatePairs test fails with 1.9.8 and ICU 60.1

    This test fails for me at least on x86_64:

    FAIL: testSurrogatePairs (test_Script.TestScript)

    Traceback (most recent call last): File "/home/packages/tmp/pyicu-1.9.8/build/py2/test/test_Script.py", line 48, in testSurrogatePairs self.assertEqual(['Latn', 'Deva', 'Hani', 'Zzzz', 'Zzzz'], names) AssertionError: Lists differ: ['Latn', 'Deva', 'Hani', 'Zzzz... != ['Latn', 'Deva', 'Hani', 'Zyyy...

    First differing element 3: 'Zzzz' 'Zyyy'

    • ['Latn', 'Deva', 'Hani', 'Zzzz', 'Zzzz'] ? ^^^ ^^^
    • ['Latn', 'Deva', 'Hani', 'Zyyy', 'Zyyy'] ? ^^^ ^^^

    Ran 39 tests in 0.351s

    FAILED (failures=1)

    opened by doko42 14
  • pip install PyICU fails since today

    pip install PyICU fails since today

    Hi all,

    Since today the command pip install PyICU fails with this error:

    pip install PyICU
    Collecting PyICU
      Using cached PyICU-2.6.tar.gz (233 kB)
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-j6593lp3
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/
        Complete output (53 lines):
        Package icu-i18n was not found in the pkg-config search path.
        Perhaps you should add the directory containing `icu-i18n.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'icu-i18n' found
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/setup.py", line 63, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/setup.py", line 66, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/setup.py", line 19, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/setup.py", line 69, in <module>
            ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/setup.py", line 19, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 512, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '('pkg-config', '--modversion', 'icu-i18n')' returned non-zero exit status 1.
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_8406fcbb7a264b88ade903d9f87a3023/setup.py", line 71, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please install pkg-config on your system or set the ICU_VERSION environment
        variable to the version of ICU you have installed.
        
        (running 'icu-config --version')
        (running 'pkg-config --modversion icu-i18n')
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/31/46/fa08c8efae2951e67681ec24319f789fc1a74e2096dd74373e34c79319de/PyICU-2.6.tar.gz#sha256=a9a5bf6833360f8f69e9375b91c1a7dd6e0c9157a42aee5bb7d6891804d96371 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Using cached PyICU-2.5.tar.gz (225 kB)
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-ooeuu9f4
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/
        Complete output (53 lines):
        Package icu-i18n was not found in the pkg-config search path.
        Perhaps you should add the directory containing `icu-i18n.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'icu-i18n' found
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/setup.py", line 63, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/setup.py", line 66, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/setup.py", line 19, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/setup.py", line 69, in <module>
            ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/setup.py", line 19, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 512, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '('pkg-config', '--modversion', 'icu-i18n')' returned non-zero exit status 1.
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e9b38171c1fd411e8555e80184fd2605/setup.py", line 71, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please install pkg-config on your system or set the ICU_VERSION environment
        variable to the version of ICU you have installed.
        
        (running 'icu-config --version')
        (running 'pkg-config --modversion icu-i18n')
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/5a/99/c48c816095208bf3f4936ff67e571621fbddef461303a35a076f234e31f6/PyICU-2.5.tar.gz#sha256=a120b68c53f769f37bfb70b7e84ca12c3f4ab1e4df43e87a02dff05ae472cdbc (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Using cached PyICU-2.4.3.tar.gz (219 kB)
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-82mnpq0m
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/
        Complete output (53 lines):
        Package icu-i18n was not found in the pkg-config search path.
        Perhaps you should add the directory containing `icu-i18n.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'icu-i18n' found
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/setup.py", line 62, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/setup.py", line 65, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/setup.py", line 68, in <module>
            ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 512, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '('pkg-config', '--modversion', 'icu-i18n')' returned non-zero exit status 1.
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_1230b5e80569491eb60279596e10314d/setup.py", line 70, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please install pkg-config on your system or set the ICU_VERSION environment
        variable to the version of ICU you have installed.
        
        (running 'icu-config --version')
        (running 'pkg-config --modversion icu-i18n')
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/57/b2/66a58057a537527d7307576f2d32f239cc411b911401276d6922caa94755/PyICU-2.4.3.tar.gz#sha256=c0ca7741ad0e8b20781578a876dac0357b982b7762ccc2aae116f0b18ce1ab1c (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Using cached PyICU-2.4.2.tar.gz (219 kB)
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-4vjpbhdi
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/
        Complete output (53 lines):
        Package icu-i18n was not found in the pkg-config search path.
        Perhaps you should add the directory containing `icu-i18n.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'icu-i18n' found
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/setup.py", line 62, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/setup.py", line 65, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/setup.py", line 68, in <module>
            ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 512, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '('pkg-config', '--modversion', 'icu-i18n')' returned non-zero exit status 1.
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c1e6881b1c304ea1aaf3f1f6b632ff87/setup.py", line 70, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please install pkg-config on your system or set the ICU_VERSION environment
        variable to the version of ICU you have installed.
        
        (running 'icu-config --version')
        (running 'pkg-config --modversion icu-i18n')
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/95/0c/0fb09019efb65a29789ec5538f8e521b8f548da6935a3a474e19fbf2ea4d/PyICU-2.4.2.tar.gz#sha256=48c43424b67090c4028d8743132d141d8477f390f93e26c2cb67c26485622c20 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.4.1.tar.gz (219 kB)
         |████████████████████████████████| 219 kB 1.5 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-pj3lpkb5
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/
        Complete output (53 lines):
        Package icu-i18n was not found in the pkg-config search path.
        Perhaps you should add the directory containing `icu-i18n.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'icu-i18n' found
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/setup.py", line 62, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/setup.py", line 65, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/setup.py", line 68, in <module>
            ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 512, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '('pkg-config', '--modversion', 'icu-i18n')' returned non-zero exit status 1.
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_645c1b72731e46fc8834733c5a18d195/setup.py", line 70, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please install pkg-config on your system or set the ICU_VERSION environment
        variable to the version of ICU you have installed.
        
        (running 'icu-config --version')
        (running 'pkg-config --modversion icu-i18n')
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/77/a2/7c22b63c3cab7e41cbf4a930b033f5fc3e47bc5b6b673020f5ba58cecdf2/PyICU-2.4.1.tar.gz#sha256=00727a2d85c6a62ce78846a5f80bfa79bd26c35126f9cc793d269b336fd2ef47 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.4.tar.gz (219 kB)
         |████████████████████████████████| 219 kB 2.1 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-vtev06s0
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/
        Complete output (53 lines):
        Package icu-i18n was not found in the pkg-config search path.
        Perhaps you should add the directory containing `icu-i18n.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'icu-i18n' found
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/setup.py", line 62, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/setup.py", line 65, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/setup.py", line 68, in <module>
            ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 512, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '('pkg-config', '--modversion', 'icu-i18n')' returned non-zero exit status 1.
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2f28937aa1624a55a861d5f3fe411dfa/setup.py", line 70, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please install pkg-config on your system or set the ICU_VERSION environment
        variable to the version of ICU you have installed.
        
        (running 'icu-config --version')
        (running 'pkg-config --modversion icu-i18n')
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/50/65/974ccd4e01f6517f150e5841518afdec64fa0e6993e4b7a3a6291b327962/PyICU-2.4.tar.gz#sha256=8d1907c1f8659b77f5b62fe81c62ac91731c8a56cb3ea0af1dc4db59f8326242 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.3.1.tar.gz (214 kB)
         |████████████████████████████████| 214 kB 2.7 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-gnuv0lcb
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/
        Complete output (53 lines):
        Package icu-i18n was not found in the pkg-config search path.
        Perhaps you should add the directory containing `icu-i18n.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'icu-i18n' found
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/setup.py", line 62, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/setup.py", line 65, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/setup.py", line 68, in <module>
            ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 512, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '('pkg-config', '--modversion', 'icu-i18n')' returned non-zero exit status 1.
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_cb05a7b1619940aa989c1f5233de1371/setup.py", line 70, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        (running 'icu-config --version')
        (running 'pkg-config --modversion icu-i18n')
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/e9/35/211ffb949c68e688ade7d40426de030a24eaec4b6c45330eeb9c0285f43a/PyICU-2.3.1.tar.gz#sha256=ddb2b453853b4c25db382bc5e8c4cde09b3f4696ef1e1494f8294e174f459cf4 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.3.tar.gz (214 kB)
         |████████████████████████████████| 214 kB 2.9 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-mw0whrx1
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/
        Complete output (53 lines):
        Package icu-i18n was not found in the pkg-config search path.
        Perhaps you should add the directory containing `icu-i18n.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'icu-i18n' found
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/setup.py", line 62, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/setup.py", line 65, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/setup.py", line 68, in <module>
            ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/setup.py", line 18, in check_output
            return subprocess_check_output(popenargs)
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 512, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '('pkg-config', '--modversion', 'icu-i18n')' returned non-zero exit status 1.
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_17afa84d35ad417fa4dbee81102c80f4/setup.py", line 70, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        (running 'icu-config --version')
        (running 'pkg-config --modversion icu-i18n')
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/87/10/fdf5842f42834f6e3141668b607c07bc3c94de39acf582c3d4015e7a7fc5/PyICU-2.3.tar.gz#sha256=419d389b014ee48f31014920f300c842df0770a283ab1fb4de82a6af334cac4d (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.2.tar.gz (211 kB)
         |████████████████████████████████| 211 kB 1.7 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d0ebd8ab1a745ee96aee9f1b213d8e9/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d0ebd8ab1a745ee96aee9f1b213d8e9/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-fvavxasp
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d0ebd8ab1a745ee96aee9f1b213d8e9/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d0ebd8ab1a745ee96aee9f1b213d8e9/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d0ebd8ab1a745ee96aee9f1b213d8e9/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d0ebd8ab1a745ee96aee9f1b213d8e9/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/c2/15/0af20b540c828943b6ffea5677c86e908dcac108813b522adebb75c827c1/PyICU-2.2.tar.gz#sha256=ea6ae8bb6845e2e145cf03cd80cf258487b80fca3669ae8a7bf0c5105df10973 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.1.tar.gz (203 kB)
         |████████████████████████████████| 203 kB 2.8 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d05262cd5ecf49c39d060bc031e253da/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d05262cd5ecf49c39d060bc031e253da/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-6ccmuz7p
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d05262cd5ecf49c39d060bc031e253da/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d05262cd5ecf49c39d060bc031e253da/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d05262cd5ecf49c39d060bc031e253da/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d05262cd5ecf49c39d060bc031e253da/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/1b/28/9a92361dfdd3e967409885dc9829643d005d8950bba04f0a60fc238f7fd9/PyICU-2.1.tar.gz#sha256=5fdab441c91adf9ceb6373dfdca18fbde3676f906babda45d85cf0fa8e43fd8a (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.0.6.tar.gz (203 kB)
         |████████████████████████████████| 203 kB 2.9 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c365bc7c3b8e44a58eb87f1a67ee66dc/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c365bc7c3b8e44a58eb87f1a67ee66dc/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-g2wok82e
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c365bc7c3b8e44a58eb87f1a67ee66dc/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c365bc7c3b8e44a58eb87f1a67ee66dc/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c365bc7c3b8e44a58eb87f1a67ee66dc/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_c365bc7c3b8e44a58eb87f1a67ee66dc/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/9a/bb/724e7dd095c87398664b8eea91fdfd2d5ea9782949e13f2f28bcd5e11a0e/PyICU-2.0.6.tar.gz#sha256=dd233737d9fd0399ac5a06382c3c387c257c17bae80aef4e15195bf63d70db67 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.0.5.tar.gz (203 kB)
         |████████████████████████████████| 203 kB 2.5 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_643727ccaf2f4e4da955cdad317dc7b2/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_643727ccaf2f4e4da955cdad317dc7b2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-x0jbkrcu
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_643727ccaf2f4e4da955cdad317dc7b2/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_643727ccaf2f4e4da955cdad317dc7b2/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_643727ccaf2f4e4da955cdad317dc7b2/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_643727ccaf2f4e4da955cdad317dc7b2/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/b9/26/9e993785441f90595e0aad169c1d011e941c3995c207838cc25702e91c5b/PyICU-2.0.5.tar.gz#sha256=9122ff2f813bced986e03679f4c6d24f4d09feb3dc85d2a47f92410797275222 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.0.4.tar.gz (202 kB)
         |████████████████████████████████| 202 kB 1.7 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d131d6cccd934f3e87bfd8a0e1cc44d9/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d131d6cccd934f3e87bfd8a0e1cc44d9/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-nx6oh0ts
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d131d6cccd934f3e87bfd8a0e1cc44d9/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d131d6cccd934f3e87bfd8a0e1cc44d9/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d131d6cccd934f3e87bfd8a0e1cc44d9/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_d131d6cccd934f3e87bfd8a0e1cc44d9/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/52/95/72d75fba16401bd452ae581c3661bbf2e588d6068a9a726726bf7f6b16f5/PyICU-2.0.4.tar.gz#sha256=e074bfbe74919a21bc2ed8e4f98006711888b11efa0e3414ad084c75c340e1bd (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.0.3.tar.gz (201 kB)
         |████████████████████████████████| 201 kB 1.3 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2ae94162bd744d18a5cce57a466ef5f8/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2ae94162bd744d18a5cce57a466ef5f8/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-gz65eb0m
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2ae94162bd744d18a5cce57a466ef5f8/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2ae94162bd744d18a5cce57a466ef5f8/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2ae94162bd744d18a5cce57a466ef5f8/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_2ae94162bd744d18a5cce57a466ef5f8/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/bb/ef/3a7fcbba81bfd213e479131ae21445a2ddd14b46d70ef0109640b580bc5d/PyICU-2.0.3.tar.gz#sha256=c452d14409d93819a398a93d27d5d58d6236af690d537eb2d76c8305e8d0fa5f (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.0.2.tar.gz (194 kB)
         |████████████████████████████████| 194 kB 2.1 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d17512508e64612a4d48abd694d29d6/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d17512508e64612a4d48abd694d29d6/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-r1f5xl3d
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d17512508e64612a4d48abd694d29d6/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d17512508e64612a4d48abd694d29d6/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d17512508e64612a4d48abd694d29d6/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_7d17512508e64612a4d48abd694d29d6/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/57/c2/565670f72e3955a3935118be0e44155f8ba823715c45cca123034585ff79/PyICU-2.0.2.tar.gz#sha256=dd8fedfb7e790fb829d0051a27295770146447e4176cb1b6425992e9b5016f10 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.0.1.tar.gz (194 kB)
         |████████████████████████████████| 194 kB 2.8 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_9aaf0c47cb3c46a2a3811f53f4991a0d/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_9aaf0c47cb3c46a2a3811f53f4991a0d/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-pwrpb4ge
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_9aaf0c47cb3c46a2a3811f53f4991a0d/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_9aaf0c47cb3c46a2a3811f53f4991a0d/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_9aaf0c47cb3c46a2a3811f53f4991a0d/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_9aaf0c47cb3c46a2a3811f53f4991a0d/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/78/3c/1541fb461e4564676650cf1842fe5dd538b7a89443291592d24788ff1e65/PyICU-2.0.1.tar.gz#sha256=230cc9b28b445da9199e09120593bf6439a55bcac2c44742c612d56becf4366f (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-2.0.tar.gz (194 kB)
         |████████████████████████████████| 194 kB 2.3 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_affaf51c6e47491999b11db924cb0211/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_affaf51c6e47491999b11db924cb0211/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-dw3rj3t9
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_affaf51c6e47491999b11db924cb0211/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_affaf51c6e47491999b11db924cb0211/setup.py", line 43, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_affaf51c6e47491999b11db924cb0211/setup.py", line 46, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_affaf51c6e47491999b11db924cb0211/setup.py", line 50, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/12/59/cf242872420615cbcee0a74fe69e2e9c3687a3c11142535569db531571a9/PyICU-2.0.tar.gz#sha256=fff7a9adbfc8501a3d61d0de4a6e6a79b45866c4f41df8b0d95dff7e267b337e (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-1.9.8.tar.gz (183 kB)
         |████████████████████████████████| 183 kB 2.6 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_4fd261d97cef4ce2a769baf16847cf58/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_4fd261d97cef4ce2a769baf16847cf58/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-jdn9jdnh
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_4fd261d97cef4ce2a769baf16847cf58/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_4fd261d97cef4ce2a769baf16847cf58/setup.py", line 12, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_4fd261d97cef4ce2a769baf16847cf58/setup.py", line 26, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_4fd261d97cef4ce2a769baf16847cf58/setup.py", line 30, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/17/13/12b5631b67fd27b8827fb805df5015c32406ec739d700af68ab49da1203f/PyICU-1.9.8.tar.gz#sha256=cd76e3fe73e96e0b9806bc036ad388b2bbba572762c699bc911ccedbc425df16 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-1.9.7.tar.gz (183 kB)
         |████████████████████████████████| 183 kB 2.4 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_b5d2afbe88f049ba9009425117871fad/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_b5d2afbe88f049ba9009425117871fad/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-iy4aifu7
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_b5d2afbe88f049ba9009425117871fad/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_b5d2afbe88f049ba9009425117871fad/setup.py", line 12, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_b5d2afbe88f049ba9009425117871fad/setup.py", line 26, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_b5d2afbe88f049ba9009425117871fad/setup.py", line 30, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/6e/88/f42a1297909ca6d9113ba37b37067011ae29432fe592fdd98cf52ad23b77/PyICU-1.9.7.tar.gz#sha256=db27cd1cc150b879c5465872bec7fdaf340eca140aa922be03891d5b9f855b61 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-1.9.6.tar.gz (183 kB)
         |████████████████████████████████| 183 kB 1.7 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e653a3eab04e423ab53af2b39a509c7e/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e653a3eab04e423ab53af2b39a509c7e/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-ia45tl5s
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e653a3eab04e423ab53af2b39a509c7e/
        Complete output (32 lines):
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e653a3eab04e423ab53af2b39a509c7e/setup.py", line 12, in <module>
            ICU_VERSION = os.environ['ICU_VERSION']
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
            raise KeyError(key) from None
        KeyError: 'ICU_VERSION'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e653a3eab04e423ab53af2b39a509c7e/setup.py", line 26, in <module>
            ICU_VERSION = check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        
        During handling of the above exception, another exception occurred:
        
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_e653a3eab04e423ab53af2b39a509c7e/setup.py", line 28, in <module>
            raise RuntimeError('''
        RuntimeError:
        Please set the ICU_VERSION environment variable to the version of
        ICU you have installed.
        
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/bc/78/f4e26f67c9b6b9074baa576ae67947e42fb86039199a65e9ab91ddb51d26/PyICU-1.9.6.tar.gz#sha256=c5c2134f7ad5aa939a899633816f52d8921e787efd4e8d7efb5f450fe10f2550 (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-1.9.5.tar.gz (181 kB)
         |████████████████████████████████| 181 kB 2.2 MB/s 
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_82600b8713934e5886a038945c9535dd/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_82600b8713934e5886a038945c9535dd/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-pip-egg-info-gk9zp4t6
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_82600b8713934e5886a038945c9535dd/
        Complete output (13 lines):
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_82600b8713934e5886a038945c9535dd/setup.py", line 11, in <module>
            ICU_VERSION = subprocess.check_output(('icu-config', '--version')).strip()
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 411, in check_output
            return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 489, in run
            with Popen(*popenargs, **kwargs) as process:
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
            self._execute_child(args, executable, preexec_fn, close_fds,
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
            raise child_exception_type(errno_num, err_msg, err_filename)
        FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/a2/9f/1947f288143191b903e58633ee597cb98bc284de28dafb1231b6f8b67b99/PyICU-1.9.5.tar.gz#sha256=73b052b800861fae3281dbaf9c92d12a81cabf3d31912d94c51862e093ef359b (from https://pypi.org/simple/pyicu/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
      Downloading PyICU-1.9.4.tar.gz (181 kB)
         |████████████████████████████████| 181 kB 2.4 MB/s 
    Building wheels for collected packages: PyICU
      Building wheel for PyICU (setup.py) ... error
      ERROR: Command errored out with exit status 1:
       command: /Users/<user>/test4/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_f10886a1c1934d7baa3e310a412f162a/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_f10886a1c1934d7baa3e310a412f162a/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-wheel-ajdn6_fd
           cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_f10886a1c1934d7baa3e310a412f162a/
      Complete output (18 lines):
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-x86_64-3.8
      copying icu.py -> build/lib.macosx-10.9-x86_64-3.8
      copying PyICU.py -> build/lib.macosx-10.9-x86_64-3.8
      copying docs.py -> build/lib.macosx-10.9-x86_64-3.8
      running build_ext
      building '_icu' extension
      creating build/temp.macosx-10.9-x86_64-3.8
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -I/usr/local/include -I/Users/<user>/test4/include -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c _icu.cpp -o build/temp.macosx-10.9-x86_64-3.8/_icu.o -DPYICU_VER="1.9.4"
      In file included from _icu.cpp:27:
      ./common.h:90:10: fatal error: 'unicode/utypes.h' file not found
      #include <unicode/utypes.h>
               ^~~~~~~~~~~~~~~~~~
      1 error generated.
      error: command 'gcc' failed with exit status 1
      ----------------------------------------
      ERROR: Failed building wheel for PyICU
      Running setup.py clean for PyICU
    Failed to build PyICU
    Installing collected packages: PyICU
        Running setup.py install for PyICU ... error
        ERROR: Command errored out with exit status 1:
         command: /Users/<user>/test4/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_f10886a1c1934d7baa3e310a412f162a/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_f10886a1c1934d7baa3e310a412f162a/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-record-fv_l7a0d/install-record.txt --single-version-externally-managed --compile --install-headers /Users/<user>/test4/include/site/python3.8/PyICU
             cwd: /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_f10886a1c1934d7baa3e310a412f162a/
        Complete output (18 lines):
        running install
        running build
        running build_py
        creating build
        creating build/lib.macosx-10.9-x86_64-3.8
        copying icu.py -> build/lib.macosx-10.9-x86_64-3.8
        copying PyICU.py -> build/lib.macosx-10.9-x86_64-3.8
        copying docs.py -> build/lib.macosx-10.9-x86_64-3.8
        running build_ext
        building '_icu' extension
        creating build/temp.macosx-10.9-x86_64-3.8
        gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -I/usr/local/include -I/Users/<user>/test4/include -I/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c _icu.cpp -o build/temp.macosx-10.9-x86_64-3.8/_icu.o -DPYICU_VER="1.9.4"
        In file included from _icu.cpp:27:
        ./common.h:90:10: fatal error: 'unicode/utypes.h' file not found
        #include <unicode/utypes.h>
                 ^~~~~~~~~~~~~~~~~~
        1 error generated.
        error: command 'gcc' failed with exit status 1
        ----------------------------------------
    ERROR: Command errored out with exit status 1: /Users/<user>/test4/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_f10886a1c1934d7baa3e310a412f162a/setup.py'"'"'; __file__='"'"'/private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-install-1o5698px/pyicu_f10886a1c1934d7baa3e310a412f162a/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/lq/hd91zpdx293_zbshp368l9xr0000gn/T/pip-record-fv_l7a0d/install-record.txt --single-version-externally-managed --compile --install-headers /Users/<user>/test4/include/site/python3.8/PyICU Check the logs for full command output
    
    
    opened by datasharkNL 13
  • ImportError: dlopen(/usr/local/lib/python2.7/site-packages/_icu.so, 2): Symbol not found: __ZN6icu_638ByteSink15GetAppendBufferEiiPciPi

    ImportError: dlopen(/usr/local/lib/python2.7/site-packages/_icu.so, 2): Symbol not found: __ZN6icu_638ByteSink15GetAppendBufferEiiPciPi

    On macOS, python 2.7.16 I have installed icu4

    export ICU_VERSION=64.2
    export PYICU_INCLUDES=/usr/local/Cellar/icu4c/64.2/include
    export PYICU_LFLAGS=-L/usr/local/Cellar/icu4c/64.2/lib
    export PYICU_CFLAGS=-std=c++11
    pip install pyicu
    

    but when importing icu I get

    >>> import pyicu
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named pyicu
    >>> import pycu
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named pycu
    >>> from icu import UnicodeString, Locale
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "icu/__init__.py", line 37, in <module>
        from _icu import *
    ImportError: dlopen(/usr/local/lib/python2.7/site-packages/_icu.so, 2): Symbol not found: __ZN6icu_638ByteSink15GetAppendBufferEiiPciPi
      Referenced from: /usr/local/lib/python2.7/site-packages/_icu.so
      Expected in: flat namespace
     in /usr/local/lib/python2.7/site-packages/_icu.so
    

    I have also installed PyCu version 2.3.1 from sources editing the configuration for macOS:

    INCLUDES = {
        'darwin': ['/usr/local/Cellar/icu4c/64.2'],
        'linux': [],
        'freebsd': ['/usr/local/include'],
        'win32': ['c:/icu/include'],
        'sunos5': [],
        'cygwin': [],
    }
    
    CFLAGS = {
        'darwin': ['-DPYICU_VER="%s"' %(VERSION), '-std=c++11'],
        'linux': [],
        'freebsd': ['-std=c++11'],
        'win32': ['/Zc:wchar_t', '/EHsc'],
        'sunos5': ['-std=c++11'],
        'cygwin': ['-D_GNU_SOURCE=1', '-std=c++11'],
    }
    
    LFLAGS = {
        'darwin': ['-L/usr/local/Cellar/icu4c/64.2/lib'],
        'linux': [],
        'freebsd': ['-L/usr/local/lib'],
        'win32': ['/LIBPATH:c:/icu/lib'],
        'sunos5': [],
        'cygwin': [],
    }
    
    LIBRARIES = {
        'darwin': ['/usr/local/Cellar/icu4c/64.2/lib'],
        'linux': [],
        'freebsd': ['icui18n', 'icuuc', 'icudata'],
        'win32': ['icuin', 'icuuc', 'icudt'],
        'sunos5': ['icui18n', 'icuuc', 'icudata'],
        'cygwin': ['icui18n', 'icuuc', 'icudata'],
    }
    
    ln -s /usr/local/Cellar/icu4c/64.2/bin/icu-config /usr/local/bin/icu-config
     CFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib python setup.py build
    python setup.py install
    

    resulting in

    Installed /usr/local/lib/python2.7/site-packages/PyICU-2.3.1-py2.7-macosx-10.14-x86_64.egg
    Processing dependencies for PyICU==2.3.1
    Finished processing dependencies for PyICU==2.3.1
    

    but I'm still getting the same error when importing the class.

    Source: https://stackoverflow.com/questions/50217214/import-error-for-icu-in-mac-and-ubuntu-although-pyicu-is-installed-correctly/55905388#55905388

    opened by loretoparisi 13
  • Move native extension inside module

    Move native extension inside module

    The goal here is to address this issue with delocate, so that we can internally distribute relocatable binary wheels for OS X:

    https://github.com/matthew-brett/delocate/issues/12#issuecomment-246536098

    I've tested a little bit locally, but would love assistance testing more substantially. I'm not very familiar with Python packaging when it comes to native extensions.

    opened by wyattanderson 2
Owner
null
learn python in 100 days, a simple step could be follow from beginner to master of every aspect of python programming and project also include side project which you can use as demo project for your personal portfolio

learn python in 100 days, a simple step could be follow from beginner to master of every aspect of python programming and project also include side project which you can use as demo project for your personal portfolio

BDFD 6 Nov 5, 2022
In this Github repository I will share my freqtrade files with you. I want to help people with this repository who don't know Freqtrade so much yet.

My Freqtrade stuff In this Github repository I will share my freqtrade files with you. I want to help people with this repository who don't know Freqt

Simon Kebekus 104 Dec 31, 2022
Prabashwara's Pm Bot repository. You can deploy and edit this repository.

Tᴇʟᴇɢʀᴀᴍ Pᴍ Bᴏᴛ | Prabashwara's PM Bot Unmaintained. The new repo of @Pm-Bot is private. (It is no longer based on this source code. The completely re

Rivibibu Prabshwara Ⓒ 2 Jul 5, 2022
Official project repository for the Setuptools build system

See the Installation Instructions in the Python Packaging User's Guide for instructions on installing, upgrading, and uninstalling Setuptools. Questio

Python Packaging Authority 1.9k Jan 8, 2023
Main repository of the zim desktop wiki project

Zim - A Desktop Wiki Editor Zim is a graphical text editor used to maintain a collection of wiki pages. Each page can contain links to other pages, si

Zim Desktop Wiki 1.6k Dec 30, 2022
This project is part of Eleuther AI's quest to create a massive repository of high quality text data for training language models.

This project is part of Eleuther AI's quest to create a massive repository of high quality text data for training language models.

EleutherAI 42 Dec 13, 2022
This repository contains all the source code that is needed for the project : An Efficient Pipeline For Bloom’s Taxonomy Using Natural Language Processing and Deep Learning

Pipeline For NLP with Bloom's Taxonomy Using Improved Question Classification and Question Generation using Deep Learning This repository contains all

Rohan Mathur 9 Jul 17, 2021
This repository is to support contributions for tools for the Project CodeNet dataset hosted in DAX

The goal of Project CodeNet is to provide the AI-for-Code research community with a large scale, diverse, and high quality curated dataset to drive innovation in AI techniques.

International Business Machines 1.2k Jan 4, 2023
[NeurIPS 2020] Official repository for the project "Listening to Sound of Silence for Speech Denoising"

Listening to Sounds of Silence for Speech Denoising Introduction This is the repository of the "Listening to Sounds of Silence for Speech Denoising" p

Henry Xu 40 Dec 20, 2022
Repository for my Monika Assistant project

Monika_Assistant Repository for my Monika Assistant project Major changes: Added face tracker Added manual daily log to see how long it takes me to fi

null 3 Jan 10, 2022
Repository for the DecodED2 Game Project!

DecodED2 Game Project Hello everyone! Welcome to the GitHub Repository for DecodED2, as a start you'll need to clone this repository and make sure you

null 6 Sep 29, 2021
Project repository of Apache Airflow, deployed on Docker in Amazon EC2 via GitLab.

Airflow on Docker in EC2 + GitLab's CI/CD Personal project for simple data pipeline using Airflow. Airflow will be installed inside Docker container,

Ammar Chalifah 13 Nov 29, 2022
Repository containing the project files for CEN4020's Team Utah.

inCollege-Team-Utah Repository containing the project files for CEN4020's Team Utah. Contributors: Deepak Putta Jose Ramirez Fuentes Jaason Raudales C

Keylin Sanchez 3 Jul 12, 2022
This project deploys a yolo fastest model in the form of tflite on raspberry 3b+. The model is from another repository of mine called -Trash-Classification-Car

Deploy-yolo-fastest-tflite-on-raspberry 觉得有用的话可以顺手点个star嗷 这个项目将垃圾分类小车中的tflite模型移植到了树莓派3b+上面。 该项目主要是为了记录在树莓派部署yolo fastest tflite的流程 (之后有时间会尝试用C++部署来提升

null 7 Aug 16, 2022
Repository for the electrical and ICT benchmark model developed in the ERIGrid 2.0 project.

Benchmark Model Electrical and ICT System This repository contains the documentation, code, and models for the electrical and ICT benchmark model deve

ERIGrid 2.0 1 Nov 29, 2021
Repository for a project of the course EP2520 Building Networked Systems Security

EP2520_ACME_Project Repository for a project of the course EP2520 Building Networked Systems Security in Royal Institute of Technology (KTH), Stockhol

null 1 Dec 11, 2021
This repository is an individual project made at BME with the topic of self-driving car simulator and control algorithm.

BME individual project - NEAT based self-driving car This repository is an individual project made at BME with the topic of self-driving car simulator

NGO ANH TUAN 1 Dec 13, 2021
Repository created with LinkedIn profile analysis project done

EN/en Repository created with LinkedIn profile analysis project done. The datase

Mayara Canaver 4 Aug 6, 2022
This repository contains django library management system project.

Library Management System Django ** INSTALLATION** First of all install python on your system. Then run pip install -r requirements.txt to required se

whoisdinanath 1 Dec 26, 2022