¿Cómo puedo actualizar la instalación predeterminada de Python / arreglar mi $ PATH en Mac OS X 10.6.7?


8

Sé que esta pregunta se ha hecho anteriormente en este sitio, y he encontrado un par de discusiones dignas, pero las soluciones que he encontrado e intentado no funcionan. Quiero aprender Python y tengo problemas para configurarlo correctamente en mi Mac. Estoy ejecutando OS X 10.6.7.

Descargué el instalador Python 3.2 de python.org y lo instalé, que instalé en /Library/Frameworks/Python.framework/Versions/3.2/bin. Esto está bien por ahora, ya que simplemente puedo usar IDLE para desarrollar. Para usar 3.2 desde la línea de comando usando pythonintenté reordenar mi $PATHvariable. Esto es lo que ~/.profileparece:

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Sin embargo, pythontodavía se lanza 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

Después de luchar con eso por un tiempo, decidí que simplemente debería desinstalar 3.2 e intentar actualizar la instalación del sistema de Python. No estoy seguro de cómo hacerlo correctamente, por lo que necesito que 3.2 funcione con la línea de comando o que se actualice 2.6.1.

Respuestas:


5

Acabo de resolver este problema instalando Python 3.2.2 en mi Mac OS X Lion, así que pensé en publicar cómo lo hice con la esperanza de que alguien pueda encontrarlo útil.

En primer lugar, estoy de acuerdo con shadesandcolour en que no debe modificar la copia predeterminada de python que vino con su mac porque podría haber scripts que pueden no funcionar correctamente cuando se ejecuta con el intérprete Python 3.0+. Dicho esto, para instalar ese último Python (3.2.2 en el momento de esta publicación), primero debe descargar el instalador de Python desde el sitio web oficial. Instalar según lo normal. Ejecute el archivo "Actualizar Shell Profile.command" en la carpeta / Aplicaciones / Python (ver).

Después de instalar Python, debe editar su ruta escribiendo "sudo nano / etc / paths" en la línea de comando. Luego, ingrese su contraseña cuando se le solicite. Luego simplemente "corte" la línea "/ usr / local / bin" y "péguelo" ANTES de que aparezca "/ usr / bin". Guarde el archivo, cierre los terminales abiertos y ejecute una nueva instancia de terminal. Ahora, cuando escriba "python" en la línea de comando, el shell buscará primero a través de / usr / local / bin y ejecutará la última copia de python.


+1 ya que he estado tratando de resolver esto todo el día. De hecho, en Snow Leopard, si configurar la RUTA en la configuración de su shell no funciona, la edición /etc/pathcomo ha sugerido funciona perfectamente. Para mí, el problema era lograr que los emacs gráficos y terminales reconocieran que quería usar una instalación personalizada de Python. ¡Gracias por el consejo!
jrhorn424

esto funcionó si yo también cd /usr/local/biny cp python3.7 pythony se reinicia mi terminal.
openwonk

1

Desde mi experiencia, el uso de enlaces simbólicos junto con una RUTA correctamente ordenada es la forma de tener múltiples versiones de Python coexistiendo en OS X o cualquier otra nix que se me ocurra. OS X es un poco tonto, pero funciona de la misma manera.

Primero obtenga la imagen completa ejecutando los siguientes comandos:

which python

Entonces:

ls -la /usr/bin/python*

y comparar con:

ls -la /usr/local/bin/python*

Vea a dónde apuntan los enlaces simbólicos.

Según la RUTA que publicó, ya que / usr / bin viene después de / usr / local / bin y los otros que probablemente esté utilizando el intérprete de Python del sistema:

/usr/bin/python

Si instaló python3.0, probablemente se ejecutará como:

/usr/local/bin/python

Ahora que sabe qué señala dónde y qué intérprete se está cargando desde la RUTA, puede realizar los cambios apropiados en la RUTA y / o los enlaces simbólicos. Luego puede usar las mismas técnicas para confirmar los cambios adecuados.

Para obtener más información acerca de la instalación de Python en macOS, consulte Python3 y farmdev .


/usr/local/bin/pythonno existe pero existe /usr/local/bin/python3. python3 --versionda mi instalación (3.2). ¿Puedo simplemente cambiar el nombre de ese enlace simbólico para pythonque no tenga que escribir el 3?
Steven Zezulak

Si su RUTA está ordenada correctamente (/ usr / local / bin viene después de / usr / bin), entonces podría crear un enlace simbólico que lo haga.
Somantra 01 de

1
Pero si / usr / bin viene después de / usr / local / bin, seguirá cargando el sistema python (/ usr / bin / python).
Somantra 01 de

0

Tal vez si instala Python a través de MacPorts, actualizará la versión del sistema. Realmente sospecho que no, ya que eso me parece un poco arriesgado. Pero es posible que desee comprobar qué hace MacPorts cuando instala Python con él.


0

Le he hecho esta pregunta a alguien antes y me aconsejaron que no cambiara la versión predeterminada de python porque algunas partes de la operación pueden depender de que la versión 2.7 esté donde está. Dicho esto, no es mucho más trabajo poner el comando python3 en tu camino. Eso es lo que estoy haciendo en este momento y parece estar bien.


0

Si usó el instalador, su python está en / usr / local / bin / python3. Las rutas también deben actualizarse automáticamente para estar disponibles como python3en su terminal. Old pythontodavía está disponible y puede ser utilizado por otros sistemas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.