导入python site-package(例如'scipy')可以从脚本test.py中正常工作,但不能从tkinter button命令中工作。单击按钮时,错误显示:
ModuleNotFoundError:没有名为'scipy'的模块
test.py
import scipy
print ("hello world")
GUI.py
import sys
import os
import tkinter
top=tkinter.Tk()
def startCamera():
os.system('python test.py')
B=tkinter.Button(top,text="hello",command= startCamera)
B.pack()
top.mainloop()
test.py和GUI.py都在同一个文件夹中: C:\ Users \用户布雷达\ PycharmProjects \ face_reg \面
scipy包中:C:\ Users \ Breda \ Anaconda3 \ Lib \ site-packages
sys.path变量包含:C:\ Users \ Breda \ Anaconda3 \ Lib \ site-packages
我尝试在test.py中导入其他网站包并通过GUI按钮命令运行,都面临同样的问题。有什么想法吗?
答案 0 :(得分:0)
无法找到scipy
模块的原因是因为os.system
运行的python可执行文件不是安装了scipy
的python安装的一部分。 (这台机器上安装了多个python发行版。)
该问题是通过
诊断出来的import sys
print(sys.executable)
位于test.py
文件的顶部(import scipy
之前)。这将打印python可执行文件的路径。然后test.py
运行两次 - 一次从命令行运行,一次运行GUI.py
。两次试运行印刷了不同的路径。
setting Pycharm's default python executable修复了安装了scipy
模块的Anaconda Python3安装问题。