Issue40553
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2020-05-07 20:55 by Zain, last changed 2022-04-11 14:59 by admin.
Files | ||||
---|---|---|---|---|
File name | Uploaded | Description | Edit | |
Screen Shot 2020-05-07 at 3.46.02 PM.png | Zain, 2020-05-07 23:26 |
Messages (23) | |||
---|---|---|---|
msg368375 - (view) | Author: Zain Said (Zain) | Date: 2020-05-07 20:55 | |
What I'm currently using: Mid 2012 13'' MacBook Pro OS Catalina 10.15.4 Python 3.8.2 I'm having an issue with saving a new python program. When I go to "save as" a program python seems to freeze/not . The only way I've been able to get python working again is to "Force Quit" the existing process and reopen IDLE. Running and writing existing programs seems to be working fine. |
|||
msg368380 - (view) | Author: Raymond Hettinger (rhettinger) * | Date: 2020-05-07 21:26 | |
I frequently have this issue as well. My workaround is awful: I go to the terminal prompt to create an empty file with the desired name, and then open it up in IDLE to edit and save. This avoids the SaveAs dialog window that triggers the failure. This doesn't happen to me with new, empty directories. So, my best guess is that the document preview in the SaveAs window is triggering the failure. This problem may go away in the future with a O/S update or with a Tcl/Tk update. AFAICT, IDLE doesn't have any way to ask for a simplified FileDialog window. |
|||
msg368381 - (view) | Author: Raymond Hettinger (rhettinger) * | Date: 2020-05-07 21:32 | |
Perhaps we could create an option in the general settings that offers a workaround: open a regular text window to get the filename. This wouldn't be as pretty (won't display filenames, offer mouse support, won't show file previews), but it would be reliable. |
|||
msg368385 - (view) | Author: Ned Deily (ned.deily) * | Date: 2020-05-07 22:25 | |
Zain and/or Raymond: can you please give the exact steps to reproduce this problem, including exactly how you invoke IDLE, the Python version info and build date info from the IDLE shell window, the details of exactly how you invoke Save As (i.e whether via clicking on the menu bar File menu or instead by using a keyboard shortcut like shift-cmd-S. And when the SaveAs window appears perhaps a screen shot or at least what options you have selected (icons, list, etc, expanded or compressed window) and what is the default folder it opens to. I am not able to reproduce a hang although I do see some delays. Also what happens if you just use Save for a new file rather than Save As? If it's a new file, that should also produce a Save file window and that's what I always use when smoke testing. EIther should work, of course :( |
|||
msg368386 - (view) | Author: Zain Said (Zain) | Date: 2020-05-07 23:26 | |
Sure i'll supply a screenshot This problem doesn't effect saving in general after editing existing programs by the way. My process of saving a program: - I'll open IDLE (Python 3.8.2) - write anything at all - I'll either hit command>s or click file>save as then ill be prompted to name my program and then save as (also if i want to rename an existing program the same issue occurs) - after typing in the name of the new program ill click save as then most of the window goes blank (you'll see in the screenshot) |
|||
msg368387 - (view) | Author: Zain Said (Zain) | Date: 2020-05-07 23:27 | |
The screenshot link is at the top of the thread |
|||
msg368418 - (view) | Author: Terry J. Reedy (terry.reedy) * | Date: 2020-05-08 05:07 | |
Zain, what I understand is: > python3.8 -m idlelib # To open idle from Terminal In IDLE, File=>New, then File=>SaveAs In dialog opened to Documents, enter name in Save As box, then click Save. For me 2012? Macbook Air with 10.14.6? Mohave and 3.8.3rc1, dialog disappears and the (blank) file is saved, with a confirmation dialog if name exits. For you, the Documents name list disappears and maybe something else (or vice versa) and the dialog freezes. I presume keys and clicks have no effect. The freezing itself is almost certainly an issue between macOS and tcl/tk 8.6.8. If you start IDLE in Terminal, does anything error message appear? The relevant IDLE code is idlelib.iomenu.IOBInding.asksavefile, which creates an instance of tkinter.filedialog.SaveAs and calls its show method, inherited from tkinter.commondialog.CommonDialog. The important line there is 's = w.tk.call(self.command, <options>)', where the save as command is 'tk_getSaveFile'. This tk command is documented in https://www.tcl.tk/man/tcl8.6/TkCmd/getOpenFile.htm. There are Mac-specific items but nothing jumped out at me as significant for this issue. To debug, and test Raymond's hypothesis, someone please try this minimal (IDLE-free) code to show the dialog and print the return. (Interactive should work, at least on IDLE.) import tkinter as tk r = tk.Tk() print(r.tk.call('tk_getSaveFile')) This does not display a preview, even after selecting a location, such as Documents, on the 3rd line. If that works, try deleting the 'dir' option in the .show call. Other options in the SaveAs and show calls could be experimentally deleted if needed. If something works, we could use platform.mac_ver()[0].split('.')[1] to detect Catalina and switch to the workaround. |
|||
msg368475 - (view) | Author: Raymond Hettinger (rhettinger) * | Date: 2020-05-08 22:00 | |
Zain, do you happen to be working in a Dropbox synced directory when you observe the failure? |
|||
msg368483 - (view) | Author: Zain Said (Zain) | Date: 2020-05-08 23:09 | |
I posted my issue on Experts Exchange and they suggested to go to system preferences>Security&Privacy>go to privacy tab on the top>scroll down to Full Disk Access>Add IDLE and Python>then check off the box next to it> Since then my issue with IDLE not being able to save (save as) new programs has gone away. Maybe try this and let me know if this solves you're issue. Also I'm fairly new to python and coding in general and i rarely use terminal. |
|||
msg368485 - (view) | Author: Ned Deily (ned.deily) * | Date: 2020-05-08 23:29 | |
That enabling FullDiskAccess makes a difference makes some sense but that is not something we should be recommending without better understanding what's going on here. We still need a reproducible test case; I still am not able to reproduce. Raymond, your hint about Dropbox is promising; can you say more, i.e. do you see hangs if you the folder you are saving to is within your Dropbox folder hierarchy? Zain, do you use Dropbox? And do either of you have your Documents folder stored in iCloud: System Preferences -> Apple ID (top right) -> iCloud -> iCloud Drive (Options) -> Documents -> Desktop & Documents Folders (checked) |
|||
msg368488 - (view) | Author: Zain Said (Zain) | Date: 2020-05-08 23:41 | |
Ned, I do not use DropBox nor do i have Desktop & Documents Folders checked under my iCloud settings. Someone else in the community reached out to me and suggested that if IDLE is acting up its not worth the hassle. And that they're alternatives. I came a across an editor called Atom. Seems interesting. Might give it a try. |
|||
msg368489 - (view) | Author: Terry J. Reedy (terry.reedy) * | Date: 2020-05-08 23:47 | |
When I click Full Disk Access in Mohave, I see an empty box with a Header something like "All app to access Mail, ..., and all user data". None of it has anything obviously to do with the user Documents folder. Nor does it seem appropriate for a non-top-admin user on a multiuser machine. Below the box are [+][-] buttons. [+] opens the standard open dialog to select an app to add. There is nothing like [ ] Add Python and IDLE Ned, is Catalina known to have tightened up some security settings? |
|||
msg368493 - (view) | Author: Terry J. Reedy (terry.reedy) * | Date: 2020-05-09 00:57 | |
What is acting up here is the Catalina system SaveAs dialog on some systems with some settings when closing after being asked to display the current contents of the target location, allow the content to be variously filtered or not, and add a default extension. (I use all of these features.) I looked at 3 Apple apps, Safari, Maps, and they omit the content display, and hence filtering. It it is only the display that is bugged, they would not show the problem. |
|||
msg368568 - (view) | Author: Terry J. Reedy (terry.reedy) * | Date: 2020-05-10 05:45 | |
I asked about other people's experiences on python-list and got 2 responses so far. --- On macOS The default Save/Save as dialogs are short, only displaying a few major folders along with Favorites and Recents. That dialog doesn’t display folder contents. However, you can get an expanded dialog by clicking on the little arrow to the right of the Where box. Using that dialog allows one to select any folder and displays folder contents. I tried using both Save and Save as, and was unable to duplicate the problem with either the short or the long dialog. Python 3.8.2 macOS Catalina 10.15.4 Bev in TX --- Fairly recently, Tk has got many bugfixes because of changes in OSX. Here is the file that implements the file dialogs: https://core.tcl-lang.org/tk/artifact/d72cdfbcbfaa717f and the history: https://core.tcl-lang.org/tk/finfo?name=macosx/tkMacOSXDialog.c&m=d72cdfbcbfaa717f As you can see, it has been touched two days ago (!) to restore some window behaviour, which was switched of because of Catalina last August (this commit) https://core.tcl-lang.org/tk/info/59b1d265c2444112 Christian Gollwitzer --- Ned, what is your latest experience with 8.6.10? |
|||
msg368648 - (view) | Author: Terry J. Reedy (terry.reedy) * | Date: 2020-05-11 20:54 | |
Mat Wichmann responded "we had three of these in the last few weeks sent to webmaster@python.org. I just went back and pinged those folks with a request to look in on the issue, and contribute to it if they had anything new/useful to add." |
|||
msg368650 - (view) | Author: Terry J. Reedy (terry.reedy) * | Date: 2020-05-11 21:00 | |
Raymond, can you run the tests I suggested above? |
|||
msg368662 - (view) | Author: Ned Deily (ned.deily) * | Date: 2020-05-11 21:53 | |
>To debug, and test Raymond's hypothesis, someone please try this minimal (IDLE-free) code to show the dialog and print the return. >This does not display a preview, even after selecting a location, such as Documents, on the 3rd line. Terry, I'm not sure I know what you mean here by preview. Do you mean the Column view of the Save sheet? As "Bev in TX" explained in the quote you supplied earlier, the standard macOS Save or Save As save sheet which nearly all macOS apps use including Tk in IDLE has several settings, settings that are usually remembered across application invocations. By default initially, a compact display is given with boxes for Save As, Tags, and a pull-down Where list of folders. To its right, there should be an button with a "V" icon. When pressed, the "V" changes to a "^" and the Save sheet expands to show more stuff. What stuff it shows depends on the setting of the view options which can be accessed by clicking on the button with an array of six little squares on it, usually towards the upper left side of the Save sheet. In it are the three main Show Items as options: "Icons", "List", "Columns". There are other options in there, too. So when discussing the appearance of macOS Open or Save dialog sheets, one has to be really precise about what options are in effect for that particular Save. Those are under the control of the user and, again, are remembered by the operating system. Note also that for Save using he column view, the system does not show previews of existing files; it does for Open files, which you should be able to see if you substitute tk_getOpenFile in your test code. In any case, I ran your test on both 10.15 and 10.14 and so far have still seen no problems, no hanging. I don't doubt these reports that people are seeing hangs but we still need to be able to reproduce them. FWIW, for every macOS Python installer before it is permitted to be released, I run a smoke test that, among other things, does essentially does what is reported here: launch IDLE.app, open a new file window, add a few lines including a print function, preess F5 to Run bringing up the Save dialog, Save the file, and verify that the expected output shows up in the IDLE shell window. Each installer is tested on at least one macOS system level, always the latest release and usually at least one older release. In years of doing this, I've never seen a hang like those being reported. So that's why I'm particularly curious about this because there is a lot of baseline experience over many releases of macOS, Python, and Tk for that matter. We'll keep searching. But it would still be *really* helpful if, as I requested before, someone who does see these hangs and can reliably reproduce them, documents *exactly* all the steps to do so, from exactly how IDLE is launches to exactly how the Save dialog is invoked (by menu bar or keyboard shortcut or ...) and what options of the Save dialog are in effect. |
|||
msg368698 - (view) | Author: Terry J. Reedy (terry.reedy) * | Date: 2020-05-12 02:37 | |
By 'preview', I meant the listing of existing file in the directory, such as Documents. IDLE displays this but, as I inferred and you and Bev confirmed, this is not standard on macOS, as there is a button (which I did not noticed before) to show or hide the file list and other stuff. (There is no such button on Windows.) So *if* it is the problem culprit for some people, we could, I presume, leave the pane initially hidden. Is the filelist pane a 'sheet'? Could the recent 'sheets' fix (Christian's comment) for these dialogs on Catalina be involved? What is your latest take on 8.6.10 for OSX? |
|||
msg375130 - (view) | Author: James Franks (franksj) | Date: 2020-08-10 17:01 | |
Hope this helps: I'm running Python Shell 3.8.5 on MacOSx 10.15.6 (Catalina). I can reproduce this hang easily. Open any existing module or create a new one. Can save the existing module or a new one just fine under the same name. (File menu - Save) Using "Save as..." from File dropdown menu, Windows appears, change the name, hit Save button and IDLE hangs. After approximately a minute the window becomes active again, but when hitting any button (Cancel or Save) it hangs again. No way to get out of this but force quit IDLE. My files are in iCloud documents folder. Did the same test with a Mac running Mojave (10.14.6) Also with Python Shell 3.8.5. Works fine. Seems to be something with Catalina as some have mentioned. Please help. This is extremely frustrating for someone like me just trying to learn Python. I will switch over to the machine running Mojave. Thanks for helping! |
|||
msg375395 - (view) | Author: Ned Deily (ned.deily) * | Date: 2020-08-14 11:21 | |
James, thanks very much for your detailed instructions. Alas, once again, I am unable to reproduce the hanging behavior under apparently similar conditions (10.5.6, Documents folder on iCloud, etc). I know this is frustrating to all of us. I have one new concrete suggestion: if someone who can reproduce this behavior at will is willing to allow me to screen share into their system (via Apple's Messages app) so they can demonstrate it live, perhaps that will allow us to better isolate the problem. If anyone is interested in helping with this, contact me via email (nad at python dot org) and we can set up a time. |
|||
msg375654 - (view) | Author: Alexander Boeckmann (aboeckmann) | Date: 2020-08-19 15:45 | |
Hey! I have the exact same thing as described happening! Python freezes when I try to save new files which sucks. I'm on Catalina: 10.15.6 IDLE: 3.8.5 Brand new MacBook Air As said earlier the only way out is to force quit. Would taking a video help? I'll make one anyways |
|||
msg375714 - (view) | Author: Ned Deily (ned.deily) * | Date: 2020-08-20 15:20 | |
> Would taking a video help? It couldn't hurt and might very well help. > I'll make one anyways Thank you! |
|||
msg376012 - (view) | Author: Alexander Boeckmann (aboeckmann) | Date: 2020-08-27 18:58 | |
So over the past week the issue resolved its self. I unfortunately did not get a video or a screenshot but thought you might want to know this So maybe Apple did something or you guys fixed it. Anyways, have a good day! |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:59:30 | admin | set | github: 84733 |
2020-08-27 18:58:48 | aboeckmann | set | messages: + msg376012 |
2020-08-20 15:20:13 | ned.deily | set | messages: + msg375714 |
2020-08-19 15:45:30 | aboeckmann | set | nosy:
+ aboeckmann messages: + msg375654 |
2020-08-14 11:21:27 | ned.deily | set | messages: + msg375395 |
2020-08-10 17:01:19 | franksj | set | nosy:
+ franksj messages: + msg375130 |
2020-05-12 02:37:54 | terry.reedy | set | messages: + msg368698 |
2020-05-11 21:53:09 | ned.deily | set | messages: + msg368662 |
2020-05-11 21:00:55 | terry.reedy | set | messages: + msg368650 |
2020-05-11 20:54:17 | terry.reedy | set | messages: + msg368648 |
2020-05-10 05:45:23 | terry.reedy | set | messages: + msg368568 |
2020-05-09 00:57:32 | terry.reedy | set | messages: + msg368493 |
2020-05-08 23:47:53 | terry.reedy | set | messages: + msg368489 |
2020-05-08 23:41:59 | Zain | set | messages: + msg368488 |
2020-05-08 23:29:07 | ned.deily | set | messages: + msg368485 |
2020-05-08 23:09:54 | Zain | set | messages: + msg368483 |
2020-05-08 22:00:01 | rhettinger | set | messages: + msg368475 |
2020-05-08 05:07:03 | terry.reedy | set | messages:
+ msg368418 versions: + Python 3.9 |
2020-05-07 23:27:35 | Zain | set | messages: + msg368387 |
2020-05-07 23:26:25 | Zain | set | files:
+ Screen Shot 2020-05-07 at 3.46.02 PM.png messages: + msg368386 |
2020-05-07 22:25:55 | ned.deily | set | nosy:
+ ned.deily messages: + msg368385 |
2020-05-07 21:32:18 | rhettinger | set | messages: + msg368381 |
2020-05-07 21:26:46 | rhettinger | set | priority: normal -> high nosy: + terry.reedy, rhettinger messages: + msg368380 assignee: terry.reedy components: + IDLE |
2020-05-07 20:55:32 | Zain | create |