2016-05-29 11 views
0
import os 
import sys 

#run get-pip.py 
os.system("python get-pip.py") 

#try to import pip 
try: 
    __import__('pip') 
except ImportError: 
    input('Could not install pip, please enter any key to quit this window.') 
    sys.exit() 

#install selenium 
def install(package): 
    pip.main(['install', package]) 

if __name__ == '__main__': 
    install('selenium') 

Als ich dieses Skript bekomme ich:Verwenden Python-Modul auf der Laufzeit

NameError: name 'pip' is not defined

Es ist wie __import__('pip') ist pip nicht importiert werden, wie kann ich es pip importieren machen?

Wenn ich diesen Code lief installiert es Pip fein, auch die try keine Ausnahme geworfen. Ich bekomme diesen Fehler, wenn es versucht, Selen zu installieren, weil Pip nicht in der try aus irgendeinem Grund importiert wird, denke ich.

+0

Warum würden Sie nicht einfach 'import pip' verwenden? –

+0

@DanielRoseman Ich möchte sicherstellen, ob Pip installiert ist oder nicht, wenn es nicht installiert ist, dann sollte es nicht versuchen, Selen durch Pip zu installieren. – Drago

+0

Das hat aber nichts damit zu tun. 'import pip' würde ImportError immer noch auslösen, wenn pip nicht installiert wurde. Der einzige Grund, __import __() zu verwenden, ist, wenn Sie versuchen, etwas dynamisch zu importieren, was Sie nicht sind. –

Antwort

1

Sie sollten den Standard import pip verwenden, wenn Sie nicht versuchen, das Modul dynamisch zu importieren. Es wird weiterhin ImportError ausgelöst, wenn Pip nicht installiert ist.

Verwandte Themen