mac instalar descargar como abrir python macos sudo six

instalar - En OS X El Capitan no puedo actualizar un paquete de python que depende de las seis utilidades de compatibilidad NI puedo eliminar seis



python download (4)

Estoy tratando de usar raspado, pero tengo un problema.

de six.moves import xmlrpc_client como xmlrpclib

ImportError: no se puede importar el nombre xmlrpc_client

Entonces, probé pip install --upgrade six scrape , pero:

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: ''/var/folders/3h/r_2cxlvd1sjgzfgs4xckc__c0000gn/T/pip-5h86J8-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info''


¡Esto funcionaría!

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


Ambas respuestas anteriores no funcionan para mí. Finalmente, obtuve la solución de GitHub, aws / aws-cli , como se muestra a continuación.

En OS X, si ve un error con respecto a la versión de seis que vino con distutils en El Capitan, use la opción --ignore-installed:

$ sudo pip install awscli --ignore-installed six


No creo que sea un duplicado, pero en realidad Github .

NOTA: Según el paquete que instale, es posible que deba modificar el comando al que se hace referencia en la solución. En mi caso a continuación, estaba intentando configurar virtualenv y virtualwrapper. Si no puede instalar aws-cli o cualquier otro paquete, solo inserte eso en la secuencia de comandos

El núcleo del problema está vinculado al nuevo SIP de Apple que enviaron con El Capitán. Más specifically ,

Python de OS X 10.11 conserva su propia copia de seis, que es irreversible, debido a las modificaciones que Apple ha hecho en su distribución python. 1.4.1 no es el último, 1.10.0 es. También llega temprano en la ruta de importación de su python, por lo que normalmente anulará las versiones posteriores que instale.

Sugiero usar una python diferente por ahora. Python.org''s, o instalado a través de Homebrew, o Anaconda Python.

Hay una discusión increíblemente detallada sobre el Ask Ask Stack Exchange que cubre cómo los problemas con SIP se han identificado, abordado y evolucionado desde el lanzamiento original de El Capitan. Aunque me pareció fascinante, pasarás menos tiempo siguiendo las instrucciones a continuación que te llevaría a leerlo, así que te recomiendo que lo consultes DESPUÉS de que termines lo siguiente ...

Me encontré con el mismo error exacto al intentar actualizar VirtualEnv y VirtualEnvWrapper. Hubo varias sugerencias sobre ese hilo anterior, pero al final el más estable fue

  1. Aproveche el soporte integrado para sudo OPTION para especificar una variable de entorno HOME

$ man sudo -H The -H (HOME) option option sets the HOME environment variable to the home directory of the target user (root by default) as specified HOME environment variable depends on sudoers(5) settings. By default, sudo will set HOME if env_reset or always_set_home are set, or if set_home is set and the -s option is specified on the command line.

  1. Aproveche las opciones de pip para forzar una actualización e ignore cualquier paquete preexistente

$ pip install --help | grep upgrade -U, --upgrade Upgrade all specified packages to the newest available version. This process is recursive regardless of whether a dependency is already satisfied. beejhuff@ignatius:~/mac_setup$ pip install --help | grep ignore-installed -I, --ignore-installed Ignore the installed packages (reinstalling instead).

Primero, mi intento original y error:

$ sudo pip install virtualenv virtualenvwrapper The directory ''/Users/beejhuff/Library/Caches/pip/http'' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo''s -H flag. The directory ''/Users/beejhuff/Library/Caches/pip'' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo''s -H flag. Collecting virtualenv Downloading virtualenv-15.0.0-py2.py3-none-any.whl (1.8MB) 100% |████████████████████████████████| 1.8MB 335kB/s Collecting virtualenvwrapper Downloading virtualenvwrapper-4.7.1-py2.py3-none-any.whl Collecting virtualenv-clone (from virtualenvwrapper) Downloading virtualenv-clone-0.2.6.tar.gz Collecting stevedore (from virtualenvwrapper) Downloading stevedore-1.12.0-py2.py3-none-any.whl Collecting pbr>=1.6 (from stevedore->virtualenvwrapper) Downloading pbr-1.8.1-py2.py3-none-any.whl (89kB) 100% |████████████████████████████████| 92kB 362kB/s Collecting six>=1.9.0 (from stevedore->virtualenvwrapper) Downloading six-1.10.0-py2.py3-none-any.whl Installing collected packages: virtualenv, virtualenv-clone, pbr, six, stevedore, virtualenvwrapper Running setup.py install for virtualenv-clone ... done 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-8.1.0-py2.7.egg/pip/basecommand.py", line 209, in main status = self.run(options, args) File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.egg/pip/commands/install.py", line 317, in run prefix=options.prefix_path, File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.egg/pip/req/req_set.py", line 726, in install requirement.uninstall(auto_confirm=True) File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.egg/pip/req/req_install.py", line 746, in uninstall paths_to_remove.remove(auto_confirm) File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove renames(path, new_path) File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.egg/pip/utils/__init__.py", line 267, 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-GQL8Gi-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info''

La solución

Se requirió modificar mi comando de instalación de TRES maneras específicas:

  1. Tuve que agregar la bandera -H para sudo
  2. Tuve que agregar la opción --upgrade DESPUÉS del nombre del paquete que estaba actualizando ( virtualenv )
  3. Tuve que usar el indicador --ignore-installed y especificar que el paquete de six era el que debía ignorarse.
  4. * Nota: el comando general es $ sudo -H pip install <packagename> --upgrade --ignore-installed six - reemplace <packagename> con el paquete específico que necesita instalar

Ejemplo de trabajo final

1st Upgrade virtualenv

$ sudo -H pip install virtualenv --upgrade --ignore-installed six Password: Collecting virtualenv Using cached virtualenv-15.0.0-py2.py3-none-any.whl Collecting six Using cached six-1.10.0-py2.py3-none-any.whl Installing collected packages: virtualenv, six Successfully installed six-1.4.1 virtualenv-15.0.0

2nd actualización virtualenvwrapper

$ sudo -H pip install virtualenvwrapper --upgrade --ignore-installed six Password: Downloading virtualenvwrapper-4.7.1-py2.py3-none-any.whl Collecting six Downloading six-1.10.0-py2.py3-none-any.whl Collecting virtualenv (from virtualenvwrapper) Downloading virtualenv-15.0.0-py2.py3-none-any.whl (1.8MB) 100% |████████████████████████████████| 1.8MB 751kB/s Collecting virtualenv-clone (from virtualenvwrapper) Downloading virtualenv-clone-0.2.6.tar.gz Collecting stevedore (from virtualenvwrapper) Downloading stevedore-1.12.0-py2.py3-none-any.whl Collecting pbr>=1.6 (from stevedore->virtualenvwrapper) Downloading pbr-1.8.1-py2.py3-none-any.whl (89kB) 100% |████████████████████████████████| 92kB 417kB/s Installing collected packages: virtualenv, virtualenv-clone, pbr, six, stevedore, virtualenvwrapper Running setup.py install for virtualenv-clone ... done Successfully installed pbr-1.8.1 six-1.4.1 stevedore-1.12.0 virtualenv-15.0.0 virtualenv-clone-0.2.6 virtualenvwrapper-4.7.1


Arreglo rapido:

Acabo de solucionar lo que creo que era el mismo problema. Puede considerar intentar esto (sudo, si es necesario):

pip install scrape --upgrade --ignore-installed six

Github última instancia, Github es donde obtuve esta respuesta (y hay algunas sugerencias más que puedes considerar si esta no resuelve tu problema). También parece que este es un problema de El Capitán.

Además, esto técnicamente podría ser un duplicate . Pero la respuesta que surgió en la otra publicación fue la instalación de tu propio Python en lugar de confiar en osx Python por defecto, lo que me parece más laborioso.

Solución más larga y real:

Eventualmente me encontré con una situación en la que realmente necesitaba actualizar six para instalar algunas otras bibliotecas, y en ese momento ignorarlas no era suficiente. La forma más fácil de actualizar seis para mí era no usar pip, sino descargar manualmente .tar.gz de las seis páginas , descomprimir, mover al directorio de seis paquetes recién descomprimido y ejecutar la instalación manualmente (sudo, si es necesario) )

python setup.py install

Gracias a esta respuesta por la guía.