python macos pip six

No se puede actualizar el paquete python six en mac osx 10.10.2



macos pip (10)

Estoy tratando de instalar la última versión del paquete de seis python, pero tengo los siguientes problemas. No puede deshacerse de seis 1.4.1 en mac OSX 10.10.2

sudo pip install six --upgrade Requirement already up-to-date: six in /Library/Python/2.7/site-packages Cleaning up... pip search six six - Python 2 and 3 compatibility utilities INSTALLED: 1.9.0 (latest) python -c "import six; print six.version" 1.4.1 which -a python /usr/bin/python which -a pip /usr/local/bin/pip

¿Que esta mal aquí? No se puede actualizar seis!


Al final, el problema para mí fue que estaba usando el shell IPython.

which ipython devolvió /usr/local/bin/ipython y luego de la inspección, este archivo se declaró en la parte superior #!/usr/bin/python , que parecía estar evitando todos mis esfuerzos para usar la ubicación de python correcta.

Simplemente cambiando esta línea #!/usr/local/bin/python para que apunte a la versión correcta de python, significaba que IPython usó el módulo six correcto.


El Python predeterminado de Mac OS X se instala como un marco. Bajo el directorio marco, hay un directorio ''Extras'' y six paquetes ya están colocados allí.

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.py

De acuerdo con la descripción ( https://github.com/MacPython/wiki/wiki/Which-Python ), /System/Library/Frameworks/Python.framework/Versions/2.7/Extras aparece antes /Library/Python/2.7/site-packages en la ruta de búsqueda del módulo. Esto significa que todos los paquetes ya existen en /System/Library/Frameworks/Python.framework/Versions/2.7/Extras no se pueden actualizar.

Tal vez debería instalar python manualmente y no usar python predeterminado.


Encontré este problema exacto al usar pip para instalar el cliente de openstack. Mi solución fue utilizar easy_install en lugar de pip, ya que utiliza /Library/Python/2.7/site-packages/ para la instalación del módulo en lugar de /System/Library/Frameworks/Python.framework/Versions/2.7/Extras . Si esta solución no es una opción para usted, entonces puedo confirmar que @Masakazu Matsushita tiene la solución correcta para configurar PYTHONPATH en /Library/Python/2.7/site-packages . Para implementar esa solución, agregue esta línea:

export PYTHON_PATH=/Library/Python/2.7/site-packages

a su ~/.bashrc y ~/.profile (si se trata de una aplicación Python GUI que está intentando instalar).


Lo que funcionó para mí fue usar easy_install lugar de pip .

easy_install -U six

Easy_install logró actualizar el paquete incluso cuando falló el pip.



Probar con pip2 su trabajo pip2 instalar -U seis


Resolví el problema por el siguiente método.

  1. Descarga el paquete six-1.10.0.tar.gz
  2. Utilice este comando para instalarlo.

python setup.py install

Esto funciona porque instala la nueva versión de seis en /Library/Python/2.7/site-packages/ que se busca antes de /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/


Si bien una u otra de las soluciones anteriores puede funcionar para usted, creo que es importante entender qué está pasando y cuáles son las opciones que tiene. Encontré this descripción (bastante extensa) para ser muy útil: comienza con una descripción de las opciones y solo entonces sugiere soluciones.


Su binario pip pertenece a /usr/local/bin/python , mientras que python apunta a /usr/bin/python . Como consecuencia

pip install --upgrade six

se instalará en /usr/local/bin/python .

El siguiente comando se asegurará de que se use la versión correcta de pip:

python -m pip install --upgrade six


Prueba estos pasos

  1. Reinstalar Python usando cerveza

    $ brew install python

  2. Resolver problema de enlace simbólico faltante

    $ brew link --overwrite python

  3. Reinicie el sistema o ejecute

    $ hash -r python