2016-12-02 286 views
10

我一直在试图在我的mac上安装musicbrainz服务器,并且有一个步骤,我必须安装pip pyicu。我一直得到这个错误:错误安装pip pyicu

Collecting pyicu 
Downloading PyICU-1.9.5.tar.gz (181kB) 
100% |████████████████████████████████| 184kB 515kB/s 
Complete output from command python setup.py egg_info: 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "/private/tmp/pip-build-E50o2C/pyicu/setup.py", line 11, in <module> 
    ICU_VERSION = subprocess.check_output(('icu-config', '--version')).strip() 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 566, in check_output 
    process = Popen(stdout=PIPE, *popenargs, **kwargs) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__ 
    errread, errwrite) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child 
    raise child_exception 
OSError: [Errno 2] No such file or directory 

---------------------------------------- 
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-E50o2C/pyicu/ 

我已经尝试下载ez_setup.py和做python ez_setup.py。我已经升级了setuptools并分别下载了它们。我不确定还有什么可以尝试的。请帮忙!

+0

musicbrainz服务器是用Perl编写的,哪一部分让你尝试安装pyicu? – Wieland

+0

我不断收到此错误:致命错误:尝试make命令后找不到'unicode/utypes.h'文件。之后,我尝试pip安装polyglot,但后来我得到命令“python setup.py egg_info”失败,错误代码为1.我只需要解决第一个错误,但我已经尝试了很多选项,我相信pyicu是一个尝试, 。 –

回答

9

当我试图安装polyglot(polyiclot需要pyicu)时,我在我的mac上遇到了这个问题。以下为我解决了这个问题。

# Install icu 
brew install icu4c 

# check newest version 
ls /usr/local/Cellar/icu4c/ 

# Edit pyicu installer to work 
git clone https://github.com/ovalhub/pyicu.git 

# edit setup.py not to query for the version, i.e. change 
# ICU_VERSION = subprocess.check_output(('icu-config', '--version')).strip() 
# to whatever your version is, e.g. 
# ICU_VERSION = '57.1' 

# Install pyicu 
env LDFLAGS=-L/usr/local/opt/icu4c/lib CPPFLAGS=-I/usr/local/opt/icu4c/include DYLD_LIBRARY_PATH=-L/usr/local/opt/icu4c/lib python setup.py build 
env LDFLAGS=-L/usr/local/opt/icu4c/lib CPPFLAGS=-I/usr/local/opt/icu4c/include DYLD_LIBRARY_PATH=-L/usr/local/opt/icu4c/lib sudo python setup.py install 

# Change DYLD_LIBRARY_PATH (not sure if req'd) 
DYLD_LIBRARY_PATH=/usr/local/Cellar/icu4c/{version, e.g. 57.1}/:$DYLD_LIBRARY_PATH 
echo $DYLD_LIBRARY_PATH 

# Icu works now from python, and you can proceed with polyglot 
$ python 
>>> import icu 
$ pip install polyglot 
$ python 
>>> import polyglot 
9

我在ubuntu 14.04和16.04上遇到了这个问题。要解决此问题,请安装libicu-dev,然后再次尝试安装。我做过

$sudo apt install libicu-dev 
$pip install pyicu 

这可能有助于某人。

+0

这一个实际上帮助我在我的Ubuntu盒!谢谢@Mungai –

+1

@StevenYong,与它斗争,很高兴知道它也帮助你。 –

8

下面的解决方案是MAC OSX only-

尝试使用BREW安装pyICU:

brew install icu4c 

如果它说,它已经安装了,只是需要链接,那么试试这个:

brew link icu4c 

在此创建符号链接相对 “的/ usr /本地/库/ ICU4C/...”

+2

谢谢,对我有用的是:'brew link --force icu4c'然后安装pyICU,然后'brew unlink icu4c'以避免冲突,同时构建依赖于mac lib版本的软件。 – andreskwan

3

以下解决方案为我工作在OSX:

# Install ucu4c via Brew 
brew install icu4c 

# Create relative symlinks for icu4c 
brew link --force icu4c 

# Install pyicu via pip 
# Make sure ICU_VERSION matches the one you just installed 
sudo ICU_VERSION=60.2 pip install pyicu 
+0

+1这实际上在塞拉利昂也适用于我。甚至连酿造的力量都行不通 - 明确告诉哪个版本可以选择!谢谢。 – koressak

0

,我得到它的工作原理:

1)酿造安装icu4c

brew install icu4c 

2)检查版本:

ls /usr/local/Cellar/icu4c/ 

它提示类似于: 59.1

3)执行与前一步骤(第一行仅整数部分,第二和与小数部分第三线的正确的版本替换波纹管命令):

export ICU_VERSION=59 
export PYICU_INCLUDES=/usr/local/Cellar/icu4c/59.1/include 
export PYICU_LFLAGS=-L/usr/local/Cellar/icu4c/59.1/lib 

4)最后安装python包pyicu:

pip install pyicu