我正在运行运行 Ubuntu 20.04 的 AWS。我正在尝试安装软件包
pyicu
,但我遇到了问题。我尝试运行sudo apt install libicu-dev
,但仍然无法安装pyicu。我无法在 aws 服务器上安装brew。还有其他建议吗?这是错误消息:
ERROR: Command errored out with exit status 1:
command: /root/dev/big5_rest/venv/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-se360cxw/pyicu/setup.py'"'"'; __file__='"'"'/tmp/pip-install-se360cxw/pyicu/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 /tmp/pip-install-se360cxw/pyicu/pip-egg-info
cwd: /tmp/pip-install-se360cxw/pyicu/
Complete output (53 lines):
Traceback (most recent call last):
File "/tmp/pip-install-se360cxw/pyicu/setup.py", line 63, in <module>
ICU_VERSION = os.environ['ICU_VERSION']
File "/usr/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 "/tmp/pip-install-se360cxw/pyicu/setup.py", line 66, in <module>
ICU_VERSION = check_output(('icu-config', '--version')).strip()
File "/tmp/pip-install-se360cxw/pyicu/setup.py", line 19, in check_output
return subprocess_check_output(popenargs)
File "/usr/lib/python3.8/subprocess.py", line 411, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.8/subprocess.py", line 489, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/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 "/tmp/pip-install-se360cxw/pyicu/setup.py", line 69, in <module>
ICU_VERSION = check_output(('pkg-config', '--modversion', 'icu-i18n')).strip()
File "/tmp/pip-install-se360cxw/pyicu/setup.py", line 19, in check_output
return subprocess_check_output(popenargs)
File "/usr/lib/python3.8/subprocess.py", line 411, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.8/subprocess.py", line 489, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/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: 'pkg-config'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-se360cxw/pyicu/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')
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
这似乎是 PyICU 的一个已知问题。与该线程上的错误消息和建议相反,安装
pkg-config
和 libicu-dev
并没有为我解决问题。仅安装 python3-icu
(正如 PyICU 官方文档中推荐的 )最终修复了它。
sudo apt install libicu-dev python3-icu pkg-config
brew install pkg-config icu4c
export PATH="/opt/homebrew/opt/icu4c/bin:/opt/homebrew/opt/icu4c/sbin:$PATH"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/opt/homebrew/opt/icu4c/lib/pkgconfig"
我正在使用 Mac M1。因此,如果您也在使用 Intel Mac,路径会略有不同。请参阅https://gitlab.pyicu.org/main/pyicu#installing-pyicu
感谢 outofthecave 指出文档!