Pregunta No se puede instalar nltk en Mac OS El Capitan


yo si sudo pip install -U nltk como lo sugiere la documentación nltk. Sin embargo, estoy obteniendo el siguiente resultado:

Collecting nltk
  Downloading nltk-3.0.5.tar.gz (1.0MB)
    100% |████████████████████████████████| 1.0MB 516kB/s 
Collecting six>=1.9.0 (from nltk)
  Downloading six-1.9.0-py2.py3-none-any.whl
Installing collected packages: six, nltk
  Found existing installation: six 1.4.1
    DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 211, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 311, in run
    root=options.root_path,
  File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 640, in install
    requirement.uninstall(auto_confirm=True)
  File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 716, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 125, in remove
    renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 315, in renames
    shutil.move(old, new)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
    copy2(src, real_dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
    copystat(src, dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
    os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/tmp/pip-7dp3on-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'

Básicamente, no puede actualizar seis de 1.4.1 a 1.9.0. Intenté hacer eso por separado, pero obtuve el mismo error.

Menciono a El Capitán porque algunas personas enfrentan problemas para otra instalación de Python en El Capitán y me pregunto si esto se debe a eso.

¿Alguien sabe cómo solucionar este problema?


25
2017-10-01 23:57


origen


Respuestas:


Esta es la forma en que solucionó los problemas:

Primero, instala Xcode CLI:

xcode-select --install

Luego vuelve a instalar Python:

sudo brew reinstall python

Finalmente, instalar nltk:

sudo pip install -U nltk

Espero eso ayude :)


38
2017-10-04 05:42



Sé que hay muchos "potenciadores de cocimiento" por ahí, pero no debería necesitar usar otra pitón para algo tan básico. Si se encuentra una dependencia por pip en / System, como dijeron en South Park 'vas a tener un mal momento'. Si no necesita hacer este cambio en todo el sistema, puede simplemente pip install --user <package> y añadir $HOME/Library/Python/2.7/bin a su camino de concha (a través de ~/.bash_profile, etc.)


17
2017-10-08 19:33



ambos dan como resultado seis versiones 1.41:

pip install --ignore-installed six

pip install awsebcli --upgrade --ignore-installed six

la solución de brew es la que tiene sentido, imo. Si Apple necesita su propia copia de Python para El Capitán, puede tenerla. El mío ahora está aquí: /usr/local/bin/python


8
2017-10-27 22:21



El sistema Python no se puede actualizar o cambiar por pip debido al nuevo mecanismo de Protección de Integridad del Sistema que deshabilita todos los cambios en el directorio del sistema incluso mediante 'raíz'. Puede deshabilitar SIP del entorno de recuperación mediante las instrucciones disponibles en otros lugares (p. http://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/ ) pero una mejor solución es usar el argumento --user para instalarlo en su directorio local:

instalación de pip --user nltk

Esto dejará nltk en el directorio de inicio local.

> python
>>> import nltk
>>> nltk
>>> <module 'nltk' from '/Users/yourusername/Library/Python/2.7/lib/python/site-packages/nltk/__init__.pyc'>

Claramente, si está intentando instalar algo globalmente accesible que no funcionará, pero si todo lo que intenta hacer es instalar cosas que va a ejecutar desde su propio ID de usuario, funciona bien.


4
2017-10-15 22:21



Tuve el mismo problema. Uso brew para administrar paquetes. así que primero tienes que correr brew doctor Enumerará los problemas con su configuración y los corregirá. En mi caso / usr / local no era modificable, así que tuve que arreglarlo

Entonces corre

brew reinstall python

Esto solucionó mi problema y pude instalar paquetes usando pip


2
2017-10-02 21:43



Bien, entonces:

la simple y simple verdad simple es una respuesta híbrida de algunos otros presentados aquí:

  1. System Integrity Protection limita el acceso a / Library como raíz del directorio raíz del sistema Mac OS X.
  2. ni siquiera necesita sudo o reinstalación de paquetes del sistema, etc.
  3. instalación de pip --user nltk funciona, "pip install -U ..." no
  4. instalación de pip --user utiliza el directorio accesible $ HOME / Library / Python / 2.7 / bin ... que puede agregar a su ruta de shell (a través de ~ / .bash_profile, etc.).
  5. Esto es mucho más elegante que tener múltiples instalaciones de pitón y necesitar cerveza, etc.

Amén


2
2017-10-22 19:41



Si ya había creado el directorio / usr / local, ejecute este comando en la terminal:

sudo chown $ (whoami): admin / usr / local && sudo chown -R $ (whoami): admin / usr / local

de http://digitizor.com/2015/10/01/fix-homebrew-permissions-osx-el-capitan/


0
2017-10-08 21:25