如何在从同一个python程序下载python模块后导入该模块



我想做的是,我有一个简单的python程序,它打印我现在按下,所以我正在做的是彻底的pynput模块,如果它不可用,请从互联网上下载。但当我下载它时,我需要重新启动代码才能正常工作。

这是代码:-

import os  
def download_it():
try:
os.system('pip3 install pynput') 
from pynput.keyboard import Key, Listener
except:
download_it()   #this will rerun the code it there is not internet connection or some failure happen
try:
from pynput.keyboard import Key, Listener
except:
download_it()
def on_press(key):
print(key)
with Listener(on_press=on_press) as listener:
listener.join()

有没有什么方法可以让我不需要重新启动代码来让它工作。

我相信您的答案在importlib模块中。

请注意,在import_module:中

如果您正在动态导入自解释器开始执行以来创建的模块(例如,创建Python源文件(,则可能需要调用invalidate_caches((,以便导入系统注意到新模块。

最新更新