I'm just trying to do some of my 100 days of code homework, but since my OS upgraded last night, whenever I try to run a turtle screen (the same code that worked yesterday), the window freezes and I have to shut it down.
Everything ( to my knowledge ) is upgraded and updated in the virtual environment and my computer. ( I use homebrew ). Same freezing screen when code is ran in Idle,pycharm, visual studio code, etc.
Googling around it seems to me an OS issue, has anyone found a workaround? I've tried everything I can find to fix it, but nothing is working. I can't even get an error code because the window freezes and I have to force it to close.
Should I just go back to the last update when everything was working fine?
I use a Mac with Monterey, working on the 100 days challenge and have the same problem.
I did not try to use Turtle with other OS.
I solved half of the problem, by going into Python-Preferences-iPhython Console-Graphics and changing graphics backend to Tkinter.
Now the page does not freeze anymore at the beginning, it opens the screen, executes the code and then when I close the screen I find another frozen screen behind which I can exit only by Force Quit.
Related
root.attributes("-transparentcolor", "white") won't work with a .pyw file extension
Up until yesterday all my tkinter GUIs have been working like they should but two days ago all of them stopped working like I want them to. The line root.attributes("-transparentcolor", "white") has always made the white color transparent, like it should, but now it doesn't work like it used to. It does work properly if I launch the program with a .py file extension but not with a .pyw. Obviously I don't want a console window to open along with all of my programs so this is not something I could just accept. Like I said, this has worked fine up until yesterday.
For the past day I've been doing all kinds of things to try to fix this, I even uninstalled python completely and reinstalled the latest version, but nothing has changed my problem.
I'm on Windows 10 and python 3.9.1 right now (after the reinstall, can't remember what version I had before)
I didn't do a single thing that could've made this happen, I didn't update or change anything before my problem showed up, I simply started my computer in the morning like always.
Does anyone have any clue on what I could try? Could anyone try to do the same thing and see if it works for you?
Code below creates a tkinter window with a transparent background if saved as a .py file, but creates a tkinter window with white background if saved like a .pyw file.
from tkinter import *
root = Tk()
root.config(bg= 'white')
root.attributes('-transparentcolor', 'white')
root.mainloop()
Update:
Hmm... I've discovered something interesting!
If I start my program through cmd prompt with pythonw my problem still appears, but if I do the same thing with a cmd prompt running as administrator it all works like before, I get a transparent background!
Update 2:
I've set pythonw.exe to always run as administrator, and this solves my problem. But if I do that I always get a uac prompt which I never got before, so I haven't fixed my problem, I've just found a tedious workaround.
Allrighty then... I've found a solution, even though I do not like it. I don't have anything against windows or Microsoft, but I really do not like the Microsoft store. But I have to give in, this does solve my problem:
I went and installed python 3.9 from the Microsoft store. I do not know why I did it. I do not know why it helped. I started my .pyw file with the installed program/app called "Python 3.9 (Windowed)" and badaboom, badabing, my problem for some frickin reason, disappeared...
I don't know if this is a viable solution long term (or at all for that matter) but it solves my problem, and after 2 days of continuously smashing my head against the keyboard and wanting to set my pc on fire, I have to accept this as a solution and move on...
Thank u #acw1668 and #martineau for trying to help, I really appreciate it!
Tl;dr:
Download python from Microsoft store and use that program to start the file
It was doing just fine, and then suddenly when I tried to run my tkinter program, the program didn't open and instead the python launcher rocket kept bouncing up and down in my dock doing nothing. My program doesn't seem to be the problem because other tkinter programs I made previously do not open as well as the one I'm working on right now.
I've searched up on the internet but I couldn't find any answers to my situation. Please help me get my program running. Thank you
I am learning Python (v 3.7) on a Mac using PyCharm. As I practice using the turtle library, the program runs without error, outputs the correct graphics, but then the graphics screen disappears immediately after the code completes runnning. Adding time.sleep(5) at the end of my program persists it and also shows that the focus changed from PyCharm to a Python program menu (which I can't find or turn on in the hope of keeping running).
When I use Thonny, the output persists, so I can check my work. How can I make it persist in PyCharm?
A well-structured Python turtle program will end with a call to mainloop() or one of its variants (exitonclick(), done()) This turns control over to the underlying tkinter event handler which will keep your window open, awaiting user events. Without this, the program simply ends and the window closes.
You don't need time.sleep() nor input("Press Enter to continue..."). Some Python programming environments clash with mainloop() but even those tend to disable it behind the scenes so the same code works everywhere.
First, do not use PyCharm to test. If you like it, more power to you, but personally, I have had many issues with output and PyCharm. Learn the command line, since you are using Mac. CodeAcacdemy and LinuxJournery have really good resources on that subject. Second, if you are still having issues, please reinstall trutle, Python 3.7 (there were some issues wiht it displaying on Mac), and macOS itself. Have a great day!
https://linuxjourney.com/
https://www.codecademy.com/learn/learn-the-command-line
Problems getting pygame to show anything but a blank screen on Macos Mojave
I am using Spyder with Anaconda Launcher.
I was working on some machine learning models and when drawing graphs, I used X_grid = np.arange(min(X), max(X), 0.00000001)
Now the problem is that 0.00000001 takes a LOT of time to execute. Ideally people don't exceed 0.001.
Because of this, there is one process called "python" always showing up in the dock. If I force quit it, the kernel in Spyder dies and restarts and it instantly shows up in the dock again.
The python process icon in the dock looks like this.
I tried googling a lot, checking out answers in stackoverflow but none helped. I also tried completely removing anaconda from my mac, deleting the anaconda folder from the Users folder, then restarting the mac and then reinstalling it. Nothing seems to work! And it is really annoying to see that white icon in the dock.
So can anyone help me get rid of that white python process icon from the dock?
EDIT: I seem to have found the problem. Whenever I try to plot a graph using matplotlib, it used to appear in the console but the process icon used to not appear. To make the graph appear in a separate window, I go to Preferences > IPython Console > Graphics and select Automatic under 'Graphics Backend'. When I do this, this annoying icon appears again! Any help is appreciated.
I have recently encountered an issue whenever I try and use pygame. The window that comes up hangs and just ends up crashing. I know this program works because I have run it many times before (this also occurs with anything else I try and run in pygame). Strangely, in the command prompt window it asks an input question from a completely unrelated program I was working on last night.
It could be, that you named your file pygame.py, so now, whenever you try to import pygame, it imports from THAT pygame.py file. Maybe delete/rename the file and reinstall pygame would work, i had the same problem a year ago and it worked.
Seems to be a setup problem.
possible solutions:
rename files (as Mooper suggested)
create the smallest possible use for pygame (once without / once with windows popping up), in order to tell us where the error comes up / does not.
look at the code again; seems to me being an error with a neverending loop / overflowing stack / a function not returning after being called.
last possible idea: reinstall pygame