我可以使用函数导入或安装模块吗
Can I use a function to either import or install a module
我是运行 Windows 7, Python 2.7, Anaconda 4.0.0:
这就是我想要做的。我想把这段代码放在一个函数中。
try:
import easygui
except ImportError:
from os import system
system('pip install easyqui')
import easygui
else:
pass
这是我想到的,但我无法让它发挥作用。
def install(mypack):
try:
import mypack
except ImportError:
from os import system
system('pip install ' + str(mypack))
import mypack
else:
pass
install('easygui')
我得到的错误是 "ImportError: No module named mypack"。
import
语句按字面意义获取模块名称,而不仅仅是对其他对象的引用。所以 import mypack
不会转换为 import easygui
,而是 import module mypack
相反,您应该使用内置的 __import__
,它接受 name/string:
__import__(mypack)
我是运行 Windows 7, Python 2.7, Anaconda 4.0.0:
这就是我想要做的。我想把这段代码放在一个函数中。
try:
import easygui
except ImportError:
from os import system
system('pip install easyqui')
import easygui
else:
pass
这是我想到的,但我无法让它发挥作用。
def install(mypack):
try:
import mypack
except ImportError:
from os import system
system('pip install ' + str(mypack))
import mypack
else:
pass
install('easygui')
我得到的错误是 "ImportError: No module named mypack"。
import
语句按字面意义获取模块名称,而不仅仅是对其他对象的引用。所以 import mypack
不会转换为 import easygui
,而是 import module mypack
相反,您应该使用内置的 __import__
,它接受 name/string:
__import__(mypack)