为什么脚本在运行状态下使用系统命令安装包后找不到新模块
:
mymoduledir
|- target_module_dir
|- main.py
main.py 代码如下:
if __name__ == "__main__":
try:
import target_module
print("module already exist")
except ImportError:
print("has not target_module, start install")
os.system("cd target-module-dir && python setup.py install")
print("install finished")
import target_module
我发现:
如果python环境没有目标模块,我的脚本将自动成功安装它,但我得到了导入错误。日志显示:
尚未安装目标模块,请开始安装
.....
已完成处理目标模块的依赖项
安装完成
回溯(最近一次呼叫):
文件”\main.py,第237行
ImportError:没有名为target\u module\u name的模块
这意味着目标模块已成功安装,但在导入时遇到了导入错误。
重新运行
此脚本,日志显示:
这意味着此脚本成功导入目标模块
我认为:
脚本在启动前会检查python环境,如果我想导入一个新模块中运行状态的脚本,我需要让脚本知道环境已经更新。
我尝试的是:
我搜索了许多相关的问题,但没有找到有效的解决办法。
For some reason, I must use python2.6 to complete my function
。我试着使用重新加载功能,像这样,但它不能工作。