I have a small script in python2.7 that I want to convert into Windows executable. I use pyinstaller
for this.
The script:
import sys
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
def get_inputs():
coor = raw_input(">>>top x left: ").replace(" ", "")
top, left = coor.split("x")
top = int(top.strip())
left = int(left.strip())
return top, left
def plot_location(top, left):
img= mpimg.imread('nbahalfcourt.jpg')
plt.imshow(img)
plt.scatter(left, top)
plt.grid()
plt.show()
def main():
top, left = get_inputs()
plot_location(top, left)
if __name__ == '__main__':
print "Input top x left coordinates (no space) eg: 44x232"
run = True
while run:
main()
Basically, the script just plots a point on a grid.
The converting process finishes successfully. When I run the .exe however I've got the ImportError
(see below) even though I have no reference to Tkinter
anywhere.
What could went wrong here?
I have a feeling that matplotlib
uses the Tkinter
module internally, but imports it in a non-standard way. Then pyinstaller
doesn't notice Tkinter is needed, and subsequently doesn't bundle it into the executable.
Try explicitly putting import Tkinter
at the top of your script.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With