python - para - No se puede instalar nltk en Mac OS El Capitan
mac os install python3 (7)
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 desde el entorno de recuperación a través de instrucciones disponibles en otros lugares (por ejemplo, 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.
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?
Esta es la forma en que solucionó los problemas:
Primero, instale Xcode CLI
:
xcode-select --install
Luego reinstala Python
:
sudo brew reinstall python
Finalmente, instale nltk
:
sudo pip install -U nltk
Espero eso ayude :)
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
in / System, como dijeron en South Park ''vas a tener un mal momento''. Si no necesita hacer este cambio en todo el sistema, puede pip install --user <package>
y agregar $HOME/Library/Python/2.7/bin
a la ruta de su shell (a través de ~/.bash_profile
, etc. )
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/
Tuve el mismo problema. Uso brew para administrar paquetes. así que primero debe ejecutar brew doctor
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
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
Muy bien ''entonces :
la simple y simple verdad simple es una respuesta híbrida de algunos otros presentados aquí:
- System Integrity Protection limita el acceso a / Library como raíz del directorio raíz del sistema Mac OS X.
- ni siquiera necesita sudo o reinstalación de paquetes del sistema, etc.
- instalación de pip --user nltk funciona, "pip install -U ..." no
- 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.).
- Esto es mucho más elegante que tener múltiples instalaciones de pitón y necesitar cerveza, etc.
Amén