web-dev-qa-db-fra.com

Erreur d'installation de pip pyicu

J'ai essayé d'installer le serveur musicbrainz sur mon mac et il y a une étape où je dois installer pip pyicu. Je reçois toujours cette erreur:

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/

J'ai essayé de télécharger ez_setup.py et de faire python ez_setup.py. J'ai mis à jour les setuptools et les ai téléchargés séparément également. Je ne sais pas quoi encore essayer. Aidez-moi!

20
Eric Agredo

J'étais confronté à ce problème sur mon Mac lorsque j'essayais d'installer polyglot (pyicu est nécessaire pour polyglot). Ce qui suit a résolu cela pour moi.

# 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
19
pyrytakala

J'ai rencontré ce problème sur Ubuntu 14.04 et 16.04. Pour résoudre ce problème, installez libicu-dev puis réessayez d'installer. J'ai fait

$Sudo apt install libicu-dev
$pip install pyicu
30
MUNGAI NJOROGE

La solution ci-dessous est pour MAC OSX uniquement -

essayez d'installer pyICU en utilisant brew:

brew install icu4c

s'il indique qu'il est déjà installé et qu'il suffit de le lier, essayez ceci:

brew link icu4c

Cela crée des liens symboliques relatifs dans "/ usr/local/Cellar/icu4c/..."

9
coderjack

La solution suivante a fonctionné pour moi sur 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
8
Aleksandr Rogozin

pour moi de le faire fonctionner:

1) installez icu4c avec infusion:

brew install icu4c

2) vérifiez la version:

ls /usr/local/Cellar/icu4c/

il invite quelque chose comme: 59.1

3) exécuter les commandes ci-dessous en remplaçant la version appropriée de l'étape précédente (première ligne uniquement partie entière, deuxième et troisième ligne avec partie décimale):

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) installez enfin python pour pyicu:

pip install pyicu

5) peut être nécessaire pour:

brew link --force icu4c
4
andilabs

Sur macOS 10.14.2, il suffit d'ajouter le répertoire contenant icu-config au PATH a fait l'affaire pour moi:

brew install icu4c
export PATH="/usr/local/opt/icu4c/bin:$PATH"
pip install pyicu

En fait, cela est suggéré lorsque vous exécutez brew link:

brew link icu4c  

Warning: Refusing to link macOS-provided software: icu4c
If you need to have icu4c first in your PATH run:
  echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc
  echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.zshrc

For compilers to find icu4c you may need to set:
  export LDFLAGS="-L/usr/local/opt/icu4c/lib"
  export CPPFLAGS="-I/usr/local/opt/icu4c/include"

For pkg-config to find icu4c you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
4
Eugene Yarmash

Il semble que la version actuelle de icu4c empaqueté pour brew ne lie pas le icu-config fichier correctement.

Fonctionnement brew link icu4c --force vous donne les informations nécessaires pour résoudre ce problème, mais ne parvient pas à le lier automatiquement.

$ brew link --force icu4c
Warning: Refusing to link macOS-provided software: icu4c
If you need to have icu4c first in your PATH run:
  echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
  echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.bash_profile

For compilers to find icu4c you may need to set:
  export LDFLAGS="-L/usr/local/opt/icu4c/lib"
  export CPPFLAGS="-I/usr/local/opt/icu4c/include"

For pkg-config to find icu4c you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"

Vous devez exécuter ce qui suit après l'installation de icu4c à brew pour obtenir icu-config dans votre chemin (en supposant que vous exécutez bash en tant que votre shell):

echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

Après cela, vous devriez pouvoir installer pyicu sans aucune variable d'environnement supplémentaire:

$ pip install --no-cache-dir pyicu
Collecting pyicu
  Downloading https://files.pythonhosted.org/packages/c2/15/0af20b540c828943b6ffea5677c86e908dcac108813b522adebb75c827c1/PyICU-2.2.tar.gz (211kB)
    100% |████████████████████████████████| 215kB 4.9MB/s 
Installing collected packages: pyicu
  Running setup.py install for pyicu ... done
Successfully installed pyicu-2.2

En résumé, voici une liste complète des commandes que j'ai exécutées pour que cela fonctionne:

brew install icu4c
brew link icu4c --force
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
pip install --no-cache-dir pyicu

(En passant, la plupart des solutions que j'ai rencontrées n'utilisent pas le --no-cache-dir option avec pip install. Je pense que certains d'entre eux peuvent avoir mis en cache la version intégrée de pyicu. Je l'ai fait pendant un moment, ce qui a masqué le problème. Ce n'est que lorsque j'ai essayé cette option que j'ai pu reproduire et corriger correctement.)

0
Nicholas Tulach

J'essayais d'installer dans RHEL et j'ai installé à partir du fichier tar.gz. Voici les commandes:

    /usr/local/bin/pip3 install -U setuptools
    /usr/local/bin/pip3 install -U wheel
    wget http://download.icu-project.org/files/icu4c/50.1.2/icu4c-50_1_2-src.tgz
    tar -zxvf icu4c-50_1_2-src.tgz
    cd icu
    cd source
    Sudo ./configure --prefix=/usr
    Sudo make
    Sudo make install
    icu-config --version
    /usr/local/bin/pip3 install PyICU==2.0.6
0
Chandan392