Acabo de reinstalar Python 2.7 en mi MacBook Pro (con OS 10.13.6 High Sierra) porque lo había eliminado sin darme cuenta, sin darme cuenta de que era necesario. También tengo Python 3.6.8 cargado en la misma computadora y estoy trabajando en "Automatizar las cosas aburridas", que requiere Beautiful Soup para el raspado web. El problema es que mi Terminal indica Python v2.7.15 y está instalando BS4 en algún lugar de esa biblioteca, pero lo necesito para Python v3.6.8. Actualicé las herramientas de configuración a la especificación más reciente usando:
python -m pip install --upgrade pip setuptools wheel
Si escribo " python3
" en la línea de comando en un intento de llegar a v3.6.8, obtengo:
Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Todo lo que escribo después me da un error de sintaxis o si escribo:
python --version
vuelve:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'python' is not defined
Cuando intento cambiar el directorio a la carpeta Descargas, aparece esto:
>>> cd /Users/User/Downloads
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'cd' is not defined
¿Alguien puede indicarnos cuál es el problema con la línea de comando? Y además, ¿cómo ejecuto ahora el instalador de pip desde la línea de comandos para instalar/dirigir el paquete BS4 a la biblioteca python3.6.8?
Probablemente sea muy sencillo, sin embargo, soy un poco novato aquí...
Gracias por tu ayuda.
Respuesta1
Si escribo "python3" en la línea de comando en un intento de llegar a v3.6.8, obtengo:
Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information.
Todo lo que escribo después me da un error de sintaxis
Esto se debe a que los comandos que estás ingresando están siendo interpretados porPitón, no tu terminal. Para volver a su terminal normal, ingrese quit()
.
¿Cómo ejecuto ahora el instalador de pip desde la línea de comando para instalar/dirigir el paquete BS4 en/hacia la biblioteca python3.6.8?
Parece que cuando reinstaló Python 2.7, sus directorios se agregaron a suCAMINO Variable ambientalantes de los directorios de Python 3. Cuando ingrese python
a su terminal, buscará un ejecutable nombrado python
primero en eldirectorio de trabajo actualy luego a través de cada uno de los directorios en suCAMINO. Ejecuta el primer partido y deja de mirar.
Recomendaría editar tuCAMINOentonces los directorios de Python 3 están antes de los directorios de Python 2. Vereditando la variable PATH en mac.
Estoy ejecutando Windows y tengo estos dos directorios en mi RUTA para Python 3:
C:\Users\Admin\AppData\Local\Programs\Python\Python37\
C:\Users\Admin\AppData\Local\Programs\Python\Python37\Scripts
Necesito ambos, porque el python
ejecutable está en el primer directorio y el pip
ejecutable está en el segundo.
Alternativamente, cambie el directorio en su terminal a donde pip
está el ejecutable: cd [...]\Python\Python37\Scripts
.
Ahora puedes instalar Beautiful Soup 4 para Python 3:pip install beautifulsoup4
Respuesta2
Gracias Gordon.
Esto se debe a que los comandos que ingresa son interpretados por Python, no por su terminal. Para volver a su terminal normal, ingrese quit()
Sí, ese fue un error obvio de mi parte. Gracias por corregirme.
La cuestión de restablecer PATH para priorizar Python 3 sobre 2 requerirá un poco de investigación; La publicación vinculada me pareció un poco confusa, pero solo significa que tengo que leer un poco.
Lo que funcionó para mí fue simplemente escribirpip3 install beautifulsoup4
Encontré esto mientras buscaba la ruta del archivo para Python 3.6 y encontré el archivo readme.txt que se encuentra en la carpeta de la aplicación de esa versión. Esto es:
Coexistencia de Python 3 y Python 2: Python.org Las versiones Python 3.6 y 2.7.x se pueden instalar en su sistema y no entrarán en conflicto. Los nombres de los comandos para Python 3 contienen un 3, python3 (o python3.6), idle3 (o idle3.6), pip3 (o pip3.6), etc. Los nombres de los comandos de Python 2.7 contienen un 2 o ningún dígito: python2 ( o python2.7 o python), idle2 (o idle2.7 o inactivo), etc.
Así que ahí está.
De cualquier modo gracias por su ayuda. Me enviaste en la dirección correcta para estar seguro.