2011-12-17 32 views

Respuesta

188

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 hacer import selenium.

El terminal de Python no es una línea de comandos, es un intérprete interactivo. Escribe el código de Python en él, no los comandos.

+0

Gracias por la aclaración, pero todavía no puedo conseguir que se ejecute. ¿Dónde exactamente está? Me está dando un error de "pip no se reconoce" (porque no soy el correcto). Fue instalado en \ site-packages pero lo he pensado y no puedo encontrar ningún pip.exe – Nacht

+22

@Nacht - 'pip' estará en el directorio de scripts de su instalación de python por lo que querrá agregarlo a su ruta. Agregue 'C: \ Python32 \ scripts' a su' PATH'. Cambie la ruta según sea necesario según el lugar donde la instaló. – birryree

+1

En realidad, pip.exe en Windows es un script de Python como otros en el directorio/scripts, pero wraped en exe para ejecutarlo con el intérprete de python predeterminado. Al abrir pip.exe con 7-zip, puede ver _main_.py importando los módulos pip, sys y re ... (Y allí encontrará la respuesta sobre cómo ejecutarlo dentro de un shell de python) -> pip es un archivo normal módulo python No olvides que windows no fue la primera plataforma que soportó python, Linux fue, y allí Python es parte del sistema operativo. – Zydnar

69

utilizar la línea de comandos, no el terminal de Python (DOS, Windows PowerShell).

C:\Program Files\Python2.7\Scripts> pip install XYZ 

Si ha instalado Python en su PATH utilizando las últimas instaladores, no es necesario estar en esa carpeta para ejecutar pip

Terminal en Mac o Linux

$ pip install XYZ 
+1

Gracias por incluir la C: ...., me ayudó a darme cuenta de dónde necesitaba hacer un CD ya que no puedes simplemente abrir la línea de comando y escribir pip. – hammythepig

29

Para ejecutar pip a partir de Python 3.6, simplemente siga las instrucciones en la página de Python: Installing Python Modules.

python -m pip install SomePackage 

Tenga en cuenta que esto se ejecuta desde la línea de comandos y no el intérprete de Python (la razón de error de sintaxis en la pregunta original).

+1

Aún recibo sintaxis no válida. Estoy usando IPython en una PC con Windows 10. ¿Alguna idea? – DataGirl

+0

Esta página tiene instrucciones para instalar IPython: http://ipython.readthedocs.io/en/stable/install/index.html $ pip install ipython. Es de suponer que eso se traduciría en $ python -m pip install ipython – Dan

+0

Esto no responde nada sobre el error de sintaxis –

33

Si desea utilizar PIP dentro del intérprete de Python, intente esto:

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, el uso siguiente:

import pip 

for i in pip.get_installed_distributions(): 
    pip.main(['install', i.key, '--upgrade']) 

Si desea detener la instalación otros paquetes si falla alguna instalación, úsela en una sola llamada pip.main([]):

import pip 

package_names = [i.key for i in pip.get_installed_distributions()] 
pip.main(['install'] + package_names + ['--upgrade']) 

Nota: Al instalar de la lista en el archivo con el parámetro -r/--requirement NO necesita función open().

pip.main(['install', '-r', 'filename']) 

Advertencia: Algunos parámetros tan simples --help pueden causar intérprete de Python para detener.

Curiosidad: Mediante el uso de pip.exe que realmente utiliza intérprete de Python y el módulo de pepita de todos modos. Si desempaqueta pip.exepip3.exe o sin tener en cuenta que es Python 2.x 3.x, en el interior es el único archivo MISMO __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()) 
+3

Esto funciona en el shell de Python, por lo que creo que debería ser la respuesta aceptada. –

+2

Esto es exactamente lo que esperaba encontrar al buscar en Google este problema. –

+0

Una gran respuesta, y definitivamente debe incluirse aquí, pero no estoy de acuerdo con que sea la respuesta aceptada, ya que el usuario claramente estaba tratando de hacer funcionar la sintaxis ahora ubicua "pip install". Dado que la sintaxis no funcionará con este método, no resuelve directamente ese problema. Sin embargo, puede ser más útil que la respuesta aceptada :) – Dan

Cuestiones relacionadas