Risposte:
pip viene eseguito dalla riga di comando, non dall'interprete Python. È un programma che installa moduli, quindi puoi usarli da Python. Dopo aver installato il modulo, puoi aprire la shell di Python e farlo import selenium
.
La shell Python non è una riga di comando, è un interprete interattivo. Digiti il codice Python in esso, non i comandi.
pip
sarà nella directory degli script della tua installazione di Python, quindi vorrai aggiungerlo al tuo percorso. Aggiungi C:\Python32\scripts
al tuo PATH
. Modificare il percorso come necessario in base al luogo in cui è stato installato.
Utilizzare la riga di comando, non la shell Python (DOS, PowerShell in Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
Se hai installato Python nel tuo PATH usando gli ultimi installer, non devi essere in quella cartella per eseguire pip
Terminale in Mac o Linux
$ pip install XYZ
PATH
. Ho dovuto farlo manualmente, indicando il percorso di installazione in%APPDATA%
Come suggerito @sinoroc, il modo corretto di installare un pacchetto tramite pip sta usando un processo separato poiché pip può causare la chiusura di un thread o potrebbe richiedere un riavvio dell'interprete per caricare un nuovo pacchetto installato, quindi questo è il modo giusto di usare l'API: subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject'])
ma poiché Python consente per accedere all'API interna e sai a cosa stai utilizzando l'API per cui potresti voler utilizzare l'API interna ad es. se stai creando il tuo gestore di pacchetti GUI con risorse alternative come https://www.lfd.uci.edu/~gohlke/pythonlibs/
L'anima che segue è FUORI DATA, invece di effettuare il downvoting suggerire aggiornamenti. consultare https://github.com/pypa/pip/issues/7498 per riferimento.
get_installed_distributions()
o main
metodo sotto import pip
invece utilizzare import pip._internal as pip
.
AGGIORNAMENTO ca. v.18 get_installed_distributions()
è stato rimosso. Invece puoi usare un generatore freeze
come questo:
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
Se è necessario aggiornare tutti i pacchetti installati, utilizzare quanto segue:
import pip
for i in pip.get_installed_distributions():
pip.main(['install', i.key, '--upgrade'])
Se si desidera interrompere l'installazione di altri pacchetti in caso di installazione non riuscita, utilizzarlo in una sola pip.main([])
chiamata:
import pip
package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Nota : quando si installa dall'elenco nel file con -r
/ --requirement
parametro NON è necessaria la funzione open ().
pip.main(['install', '-r', 'filename'])
Avvertenza : alcuni parametri semplici --help
possono causare l'interruzione dell'interprete Python.
Curiosità: Usando usi pip.exe
effettivamente l'interprete python e il modulo pip comunque. Se decomprimi pip.exe
o pip3.exe
indipendentemente dal fatto che sia Python 2.xo 3.x, all'interno è presente il singolo file SAME __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())
Per eseguire pip in Python 3.x, basta seguire le istruzioni sulla pagina di Python: Installazione dei moduli Python .
python -m pip install SomePackage
Si noti che questo viene eseguito dalla riga di comando e non dalla shell python (il motivo dell'errore di sintassi nella domanda originale).
Inizialmente anch'io ho affrontato lo stesso problema, ho installato Python e quando ho eseguito il pip
comando mi ha lanciato un errore come mostrato nella foto qui sotto.
Assicurarsi che il percorso del pip sia aggiunto nelle variabili ambientali. Per me, il percorso di installazione di Python e Pip è ::
Python: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
Entrambi questi percorsi sono stati aggiunti al percorso nelle variabili ambientali.
Ora apri una nuova finestra cmd e digita pip, dovresti vedere una schermata come di seguito.
Adesso digita pip install <<package-name>>
. Qui sto installando il pacchetto spyder, quindi la mia istruzione da riga di comando sarà come pip install spyder
ed ecco la mia schermata di esecuzione.
e spero che abbiamo finito con questo !!
devi digitarlo in cmd non nell'IDLE. perché IDLE non è un prompt dei comandi se si desidera installare qualcosa da IDLE digitare questo
>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])
questo sta chiamando pip come pip <commands>
nel terminale. I comandi saranno separati dagli spazi in cui ci si trova.
ImportError: cannot import name main
usando pip v19.0.3
A livello di programmazione, attualmente funziona. Vedo tutte le risposte post 10.0 e tutte, ma nessuna di queste è la strada giusta per me. Sicuramente all'interno di Kaggle, questo approccio funziona
from pip._internal import main as _main
package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade'])
Prova ad aggiornare pip con il comando seguente e riprova
python -m pip install -U pip