Respuestas:
pip se ejecuta desde la línea de comandos, no desde el intérprete de Python. Es un programa que instala módulos, por lo que puede usarlos desde Python. Una vez que haya instalado el módulo, puede abrir el shell de Python y hacerimport selenium
.
El shell de Python no es una línea de comando, es un intérprete interactivo. Escribe código Python en él, no comandos.
pip
estará en el directorio de scripts de su instalación de Python, por lo que querrá agregarlo a su ruta. Añadir C:\Python32\scripts
a tu PATH
. Cambie la ruta según sea necesario según el lugar donde la instaló.
Use la línea de comando, no el shell de Python (DOS, PowerShell en Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
Si instaló Python en su RUTA utilizando los últimos instaladores, no necesita estar en esa carpeta para ejecutar pip
Terminal en Mac o Linux
$ pip install XYZ
PATH
. Tuve que hacer esto manualmente, señalando la ruta de instalación en%APPDATA%
Como @sinoroc sugirió que la forma correcta de instalar un paquete a través de pip es usar un proceso separado, ya que pip puede causar el cierre de un hilo o puede requerir un reinicio del intérprete para cargar el nuevo paquete instalado, por lo que esta es la forma correcta de usar la API: subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject'])
pero ya que Python permite para acceder a la API interna y usted sabe para qué está utilizando la API, de todas formas puede utilizar la API interna, por ejemplo si está creando su propio administrador de paquetes GUI con recursos alternativos como https://www.lfd.uci.edu/~gohlke/pythonlibs/
Seguir a soulution ESTÁ FUERA DE FECHA, en lugar de votar negativamente, sugiera actualizaciones. ver https://github.com/pypa/pip/issues/7498 para referencia.
get_installed_distributions()
o main
método bajo import pip
uso en su lugar import pip._internal as pip
.
ACTUALIZACIÓN ca. v.18 get_installed_distributions()
ha sido eliminado. En su lugar, puede usar un generador freeze
como este:
from pip._internal.operations.freeze import freeze
print([package for package in freeze()])
# eg output ['pip==19.0.3']
import pip
package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade'])
# --upgrade to install or update existing packages
Si necesita actualizar cada paquete instalado, use lo siguiente:
import pip
for i in pip.get_installed_distributions():
pip.main(['install', i.key, '--upgrade'])
Si desea detener la instalación de otros paquetes si falla alguna instalación, úsela en una sola pip.main([])
llamada:
import pip
package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Nota : Cuando instala desde la lista en un archivo con -r
/ --requirement
parámetro, NO necesita la función open ().
pip.main(['install', '-r', 'filename'])
Advertencia : Algunos parámetros tan simples --help
pueden hacer que el intérprete de Python se detenga.
Curiosidad: al usarlo pip.exe
, de todas formas, usas el intérprete de Python y el módulo pip. Si desempaqueta pip.exe
o, pip3.exe
independientemente de si es python 2.xo 3.x, dentro está el MISMO archivo único __main__.py
:
# -*- coding: utf-8 -*-
import re
import sys
from pip import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
Para ejecutar pip en Python 3.x, solo siga las instrucciones en la página de Python: Instalación de módulos de Python .
python -m pip install SomePackage
Tenga en cuenta que esto se ejecuta desde la línea de comandos y no desde el shell de Python (el motivo del error de sintaxis en la pregunta original).
Inicialmente yo también enfrenté este mismo problema, instalé Python y cuando ejecuté el pip
comando solía arrojarme un error como se muestra en la imagen a continuación.
Asegúrese de que la ruta de pip se agregue en las variables ambientales. Para mí, la ruta de instalación de python y pip es ::
Python: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
ambas rutas se agregaron a la ruta en variables ambientales.
Ahora abra una nueva ventana de cmd y escriba pip, debería ver una pantalla como se muestra a continuación.
Ahora escribe pip install <<package-name>>
. Aquí estoy instalando el paquete spyder para que mi declaración de línea de comando sea como pip install spyder
y aquí va mi pantalla de ejecución.
y espero que hayamos terminado con esto !!
debe escribirlo en cmd, no en IDLE. porque IDLE no es un símbolo del sistema si desea instalar algo desde IDLE escriba esto
>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])
Esto está llamando pip como pip <commands>
en la terminal. Los comandos estarán separados por espacios en los que esté haciendo allí.
ImportError: cannot import name main
usando pip v19.0.3
Programáticamente, lo siguiente actualmente funciona. Veo todas las respuestas después de 10.0 y todas, pero ninguna de ellas es el camino correcto para mí. Dentro de Kaggle seguro, este apporach funciona
from pip._internal import main as _main
package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade'])
Intente actualizar pip con el siguiente comando y vuelva a intentar
python -m pip install -U pip