Pyinstaller resources.DistributionNotFound 'workalendar'
Hi! I have imported workalendar package -together with others packages- to my python script, and It works fine. I compile it with Pyinstaller without errors, but when I run the exe file appears a warning: pkg_resources.DistributionNotFound: The 'workalendar' distribution was not found and is required by the application. I execute this: C:\Python\Python38\Scripts\pyinstaller.exe --onefile .\main.spec And when I execute the exe file returns: pkg_resources.DistributionNotFound: The 'workalendar' distribution was not found and is required by the application [5716] Failed to execute script main My spec file: # -*- mode: python ; coding: utf-8 -*- block_cipher = None a = Analysis(['main.py'], pathex=['C:\\Users\\user\\Downloads\\MyScript', 'C:\\Python\\Python38\\Lib\\site-packages\\workalendar'], binaries=[], datas=[], hiddenimports=['pkg_resources.py2_warn', 'workalendar-9.0.0.dist-info/*', 'workalendar-9.0.0.dist-info'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='main', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=True ) Whats is the problem? -- https://mail.python.org/mailman/listinfo/python-list
Re: Pyinstaller resources.DistributionNotFound 'workalendar'
Have you installed the package listed in the error in a virtual environment? On Fri, 8 May, 2020, 2:10 pm LM FP, wrote: > Hi! > I have imported workalendar package -together with others packages- to my > python script, and It works fine. I compile it with Pyinstaller without > errors, but when I run the exe file appears a warning: > pkg_resources.DistributionNotFound: The 'workalendar' distribution was not > found and is required by the application. > > I execute this: C:\Python\Python38\Scripts\pyinstaller.exe --onefile > .\main.spec > > And when I execute the exe file returns: > pkg_resources.DistributionNotFound: The 'workalendar' distribution was not > found and is required by the application > [5716] Failed to execute script main > > > My spec file: > > # -*- mode: python ; coding: utf-8 -*- > > block_cipher = None > > > a = Analysis(['main.py'], > pathex=['C:\\Users\\user\\Downloads\\MyScript', > 'C:\\Python\\Python38\\Lib\\site-packages\\workalendar'], > binaries=[], > datas=[], > hiddenimports=['pkg_resources.py2_warn', > 'workalendar-9.0.0.dist-info/*', 'workalendar-9.0.0.dist-info'], > hookspath=[], > runtime_hooks=[], > excludes=[], > win_no_prefer_redirects=False, > win_private_assemblies=False, > cipher=block_cipher, > noarchive=False) > pyz = PYZ(a.pure, a.zipped_data, > cipher=block_cipher) > exe = EXE(pyz, > a.scripts, > a.binaries, > a.zipfiles, > a.datas, > [], > name='main', > debug=False, > bootloader_ignore_signals=False, > strip=False, > upx=True, > upx_exclude=[], > runtime_tmpdir=None, > console=True ) > > Whats is the problem? > > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list
Re: Pyinstaller resources.DistributionNotFound 'workalendar'
Hi, I followed pypi instructions: pip install workalendar, and I also have not installed any virtual python environment on my computer. El viernes, 8 de mayo de 2020, 10:51:24 (UTC+2), Souvik Dutta escribió: > Have you installed the package listed in the error in a virtual environment? > > On Fri, 8 May, 2020, 2:10 pm LM FP, wrote: > > > Hi! > > I have imported workalendar package -together with others packages- to my > > python script, and It works fine. I compile it with Pyinstaller without > > errors, but when I run the exe file appears a warning: > > pkg_resources.DistributionNotFound: The 'workalendar' distribution was not > > found and is required by the application. > > > > I execute this: C:\Python\Python38\Scripts\pyinstaller.exe --onefile > > .\main.spec > > > > And when I execute the exe file returns: > > pkg_resources.DistributionNotFound: The 'workalendar' distribution was not > > found and is required by the application > > [5716] Failed to execute script main > > > > > > My spec file: > > > > # -*- mode: python ; coding: utf-8 -*- > > > > block_cipher = None > > > > > > a = Analysis(['main.py'], > > pathex=['C:\\Users\\user\\Downloads\\MyScript', > > 'C:\\Python\\Python38\\Lib\\site-packages\\workalendar'], > > binaries=[], > > datas=[], > > hiddenimports=['pkg_resources.py2_warn', > > 'workalendar-9.0.0.dist-info/*', 'workalendar-9.0.0.dist-info'], > > hookspath=[], > > runtime_hooks=[], > > excludes=[], > > win_no_prefer_redirects=False, > > win_private_assemblies=False, > > cipher=block_cipher, > > noarchive=False) > > pyz = PYZ(a.pure, a.zipped_data, > > cipher=block_cipher) > > exe = EXE(pyz, > > a.scripts, > > a.binaries, > > a.zipfiles, > > a.datas, > > [], > > name='main', > > debug=False, > > bootloader_ignore_signals=False, > > strip=False, > > upx=True, > > upx_exclude=[], > > runtime_tmpdir=None, > > console=True ) > > > > Whats is the problem? > > > > -- > > https://mail.python.org/mailman/listinfo/python-list > > -- https://mail.python.org/mailman/listinfo/python-list
Re: Can a print overwrite a previous print ?
On Fri, 8 May 2020 16:25:52 +0200, ast wrote: >Hello > > >Suppose we want that: > >print("abcdef"); print("ghi") > >produces: > >ghidef > >The 2nd print overwrites the first one. >Is it feasible ? > >It should since the progress bar tdqh seems to do that > >try: > >from tkdm import tkdm > >for i in tqdm(range(100_000_000)): > pass > >It produces a progress bar like this: >100%|???| >1/1 [00:56<00:00, 1781611.52it/s] print('abcdef', end='\r'); print('ghi', end='') -- https://mail.python.org/mailman/listinfo/python-list
Can a print overwrite a previous print ?
Hello Suppose we want that: print("abcdef"); print("ghi") produces: ghidef The 2nd print overwrites the first one. Is it feasible ? It should since the progress bar tdqh seems to do that try: from tkdm import tkdm for i in tqdm(range(100_000_000)): pass It produces a progress bar like this: 100%|███| 1/1 [00:56<00:00, 1781611.52it/s] -- https://mail.python.org/mailman/listinfo/python-list
EuroPython 2020: Second call for proposals (CFP) - Going global
After participating in several other online events in Europe, we found that there is a lot of interest in these events from other time zones as well. This is a real advantage of running an online event: without the need to travel, joining an event becomes much easier. * EuroPython 2020 Online 2nd CFP * https://ep2020.europython.eu/call-for-proposals/ To make it possible for speakers from the Americas and India/Asia/Pacific regions to give talks at EuroPython 2020 as well, we have decided to extend the schedule and provide extra slots in the CEST morning and the evening hours, so that we can have almost 80 talk slots available, and run a second CFP with specific emphasis on submissions from outside the central European time zones. Submitting a talk - We will run this second CFP from May 11 until May 24. To submit a talk, please visit our CFP page on the website. This has all the necessary details on how to submit a talk. We would also welcome submissions for helpdesks and posters, regardless of time zone, since we haven’t received any in the first CFP. Results from the first CFP -- The results from the first CFP will be announced on Sunday (May 10). Help spread the word Please help us spread this message by sharing it on your social networks as widely as possible. Thank you ! Link to the blog post: https://blog.europython.eu/post/617552560206872576/europython-2020-second-call-for-proposals-cfp Tweet: https://twitter.com/europython/status/1258749100431990787 Thanks, -- EuroPython 2020 Team https://ep2020.europython.eu/ https://www.europython-society.org/ -- https://mail.python.org/mailman/listinfo/python-list
Re: Not able use installed modules
On 5/6/20 10:15 PM, Music lover wrote: > Hello python team, > I have installed the latest version of python from your site. > Then I successfully installed some modules like :- numpy , pandas, > matplotlib from command prompt. But I am not able to use them while > programing in python Idle. It's saying " no module named 'matplotlib' ." > > > Please help me as soon as possible. > > Thanks and regards > As a general answer, this is *always* a problem with paths. Your installation of modules went somewhere your Python doesn't know where to look, which is that Python's value of sys.path. It probably went into a version-specific location in the sys.path of a different Python as Souvik has suggested. Usually if you ran "pip install something" and then can't find "something" that means pip does not map to the Python you're going to use. As a result, it's better to use the following, with MYPYTHON being code for the way you expect to invoke Python - that could be "python" or "python3" or "py" or "py -3.8" or whatever it happens to be: MYPYTHON -m pip install something calling it as a module means things will be right for whatever MYPYTHON is, rather than picking up the first executable called pip, which might not be for that one. FWIW, many people who are after the set of numpy, pandas, etc. opt to use Anaconda which specifically aims to make the unified installation of Python with matching scientific, numeric, data science, etc. modules in a way that won't give you the kind of headache you are encountering. -- https://mail.python.org/mailman/listinfo/python-list
Re: Not able use installed modules
On Fri, May 08, 2020 at 09:31:55AM -0600, Mats Wichmann wrote: > On 5/6/20 10:15 PM, Music lover wrote: > > Hello python team, > > I have installed the latest version of python from your site. > > Then I successfully installed some modules like :- numpy , pandas, > > matplotlib from command prompt. But I am not able to use them while > > programing in python Idle. It's saying " no module named 'matplotlib' ." > As a general answer, this is *always* a problem with paths. Your > installation of modules went somewhere your Python doesn't know where to > look, which is that Python's value of sys.path. It probably went into a > version-specific location in the sys.path of a different Python as > Souvik has suggested. > > Usually if you ran "pip install something" and then can't find > "something" that means pip does not map to the Python you're going to > use. As a result, it's better to use the following, with MYPYTHON being > code for the way you expect to invoke Python - that could be "python" or > "python3" or "py" or "py -3.8" or whatever it happens to be: > > MYPYTHON -m pip install something > > calling it as a module means things will be right for whatever MYPYTHON > is, rather than picking up the first executable called pip, which might > not be for that one. This may be a naive question on my part, but, as far as I can tell, most instructions that I have encountered for installing Python packages state the installation instructions as "pip install ...", which seems to repeatedly lead to these type of OP questions. Has there ever been given thought to changing these "standard" installation instructions to something less error fraught for the newcomer/novice? -- Wishing you only the best, boB Stepp -- https://mail.python.org/mailman/listinfo/python-list
basic Python question
In general I prefer doing: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) clf = RandomForestClassifier(n_estimators = 100, max_depth= None) *clf_f = clf.fit(X_train, y_train)* predicted_labels = clf_f.predict( X_test) score = clf.score(X_test, y_test) score1 = metrics.accuracy_score( y_test, predicted_labels) rather than: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) clf0=RandomForestClassifier(n_estimators=100, max_depth= None) *clf0.fit(X_train, y_train)* y_pred =clf0.predict(X_test) score= metrics.accuracy_score(y_test, y_pred) Are the two codes really equivalent? -- Regards, Joseph Pareti - Artificial Intelligence consultant Joseph Pareti's AI Consulting Services https://www.joepareti54-ai.com/ cell +49 1520 1600 209 cell +39 339 797 0644 -- https://mail.python.org/mailman/listinfo/python-list
Re: basic Python question
On 2020-05-08 20:02, joseph pareti wrote: In general I prefer doing: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) >clf = RandomForestClassifier(n_estimators = 100, max_depth= None) *clf_f = clf.fit(X_train, y_train)* predicted_labels = clf_f.predict( X_test) score = clf.score(X_test, y_test) score1 = metrics.accuracy_score( y_test, predicted_labels) rather than: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) clf0=RandomForestClassifier(n_estimators=100, max_depth= None) *clf0.fit(X_train, y_train)* y_pred =clf0.predict(X_test) score= metrics.accuracy_score(y_test, y_pred) Are the two codes really equivalent? You didn't give any context and say what package you're using! After searching for "RandomForestClassifier", I'm guessing that you're using scikit. From the documentation here: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier.fit it says: Returns: self : object so it looks like clf.fit(...) returns clf. That being the case, then, yes, they're equivalent. -- https://mail.python.org/mailman/listinfo/python-list
Re: basic Python question
yes, it is random forest classifier from scikit learn. Thank you. Am Fr., 8. Mai 2020 um 21:50 Uhr schrieb MRAB : > On 2020-05-08 20:02, joseph pareti wrote: > > In general I prefer doing: > > > > > > X_train, X_test, y_train, y_test = train_test_split(X, y, > test_size=0.33, random_state=42) > >clf = RandomForestClassifier(n_estimators = 100, max_depth= > > None) *clf_f = clf.fit(X_train, y_train)* predicted_labels = > clf_f.predict( > > X_test) score = clf.score(X_test, y_test) score1 = > metrics.accuracy_score( > > y_test, predicted_labels) > > > > > > rather than: > > > > X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, > > random_state=42) clf0=RandomForestClassifier(n_estimators=100, max_depth= > > None) *clf0.fit(X_train, y_train)* y_pred =clf0.predict(X_test) score= > > metrics.accuracy_score(y_test, y_pred) > > > > > > Are the two codes really equivalent? > > > You didn't give any context and say what package you're using! > > After searching for "RandomForestClassifier", I'm guessing that you're > using scikit. > > From the documentation here: > > > https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier.fit > > it says: > > Returns: self : object > > so it looks like clf.fit(...) returns clf. > > That being the case, then, yes, they're equivalent. > -- > https://mail.python.org/mailman/listinfo/python-list > -- Regards, Joseph Pareti - Artificial Intelligence consultant Joseph Pareti's AI Consulting Services https://www.joepareti54-ai.com/ cell +49 1520 1600 209 cell +39 339 797 0644 -- https://mail.python.org/mailman/listinfo/python-list
Re: basic Python question
yet, something is still unclear; in Python you can do things like: *clf0.fit(X_train, y_train)* which is not the way I programmed in other languages where a left-hand side and a right hand side is required. Am Fr., 8. Mai 2020 um 21:52 Uhr schrieb joseph pareti < joeparet...@gmail.com>: > yes, it is random forest classifier from scikit learn. Thank you. > > Am Fr., 8. Mai 2020 um 21:50 Uhr schrieb MRAB >: > >> On 2020-05-08 20:02, joseph pareti wrote: >> > In general I prefer doing: >> > >> > >> > X_train, X_test, y_train, y_test = train_test_split(X, y, >> test_size=0.33, random_state=42) >> >clf = RandomForestClassifier(n_estimators = 100, max_depth= >> > None) *clf_f = clf.fit(X_train, y_train)* predicted_labels = >> clf_f.predict( >> > X_test) score = clf.score(X_test, y_test) score1 = >> metrics.accuracy_score( >> > y_test, predicted_labels) >> > >> > >> > rather than: >> > >> > X_train, X_test, y_train, y_test = train_test_split(X, y, >> test_size=0.33, >> > random_state=42) clf0=RandomForestClassifier(n_estimators=100, >> max_depth= >> > None) *clf0.fit(X_train, y_train)* y_pred =clf0.predict(X_test) score= >> > metrics.accuracy_score(y_test, y_pred) >> > >> > >> > Are the two codes really equivalent? >> > >> You didn't give any context and say what package you're using! >> >> After searching for "RandomForestClassifier", I'm guessing that you're >> using scikit. >> >> From the documentation here: >> >> >> https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier.fit >> >> it says: >> >> Returns: self : object >> >> so it looks like clf.fit(...) returns clf. >> >> That being the case, then, yes, they're equivalent. >> -- >> https://mail.python.org/mailman/listinfo/python-list >> > > > -- > Regards, > Joseph Pareti - Artificial Intelligence consultant > Joseph Pareti's AI Consulting Services > https://www.joepareti54-ai.com/ > cell +49 1520 1600 209 > cell +39 339 797 0644 > -- Regards, Joseph Pareti - Artificial Intelligence consultant Joseph Pareti's AI Consulting Services https://www.joepareti54-ai.com/ cell +49 1520 1600 209 cell +39 339 797 0644 -- https://mail.python.org/mailman/listinfo/python-list
Re: basic Python question
On 2020-05-08 21:19, joseph pareti wrote: yet, something is still unclear; in Python you can do things like: *clf0.fit(X_train,y_train)* which is not the way I programmed in other languages where a left-hand side and a right hand side is required. All it's doing is performing the calculation and then storing the result in the object itself. Most other languages can do that too. Am Fr., 8. Mai 2020 um 21:52 Uhr schrieb joseph pareti mailto:joeparet...@gmail.com>>: yes, it is random forest classifier from scikit learn. Thank you. Am Fr., 8. Mai 2020 um 21:50 Uhr schrieb MRAB mailto:pyt...@mrabarnett.plus.com>>: On 2020-05-08 20:02, joseph pareti wrote: > In general I prefer doing: > > > X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) >clf = RandomForestClassifier(n_estimators = 100, max_depth= > None) *clf_f = clf.fit(X_train, y_train)* predicted_labels = clf_f.predict( > X_test) score = clf.score(X_test, y_test) score1 = metrics.accuracy_score( > y_test, predicted_labels) > > > rather than: > > X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, > random_state=42) clf0=RandomForestClassifier(n_estimators=100, max_depth= > None) *clf0.fit(X_train, y_train)* y_pred =clf0.predict(X_test) score= > metrics.accuracy_score(y_test, y_pred) > > > Are the two codes really equivalent? > You didn't give any context and say what package you're using! After searching for "RandomForestClassifier", I'm guessing that you're using scikit. From the documentation here: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier.fit it says: Returns: self : object so it looks like clf.fit(...) returns clf. That being the case, then, yes, they're equivalent. -- https://mail.python.org/mailman/listinfo/python-list
Re: Can a print overwrite a previous print ?
On 08May2020 09:36, Sir Real wrote: On Fri, 8 May 2020 16:25:52 +0200, ast wrote: Suppose we want that: print("abcdef"); print("ghi") produces: ghidef The 2nd print overwrites the first one. Is it feasible ? On a terminal, yes. This is a display issue. It should since the progress bar tdqh seems to do that try: from tkdm import tkdm for i in tqdm(range(100_000_000)): pass It produces a progress bar like this: 100%|???| 1/1 [00:56<00:00, 1781611.52it/s] print('abcdef', end='\r'); print('ghi', end='') Aye, though that is the (hated by me) rewrite-the-whole-line brute force approach. I've got a module "cs.upd" on PyPI which does this with minimal overwrites if you want something eaier on the eyes. Doubtless there are others. Cheers, Cameron Simpson -- https://mail.python.org/mailman/listinfo/python-list
Should setuptools version propagate to a module's __version__? If so, how?
I just came across a package in PyPI which is in a state of neglect. The official version on the PyPI page is 1.3.1 -- but the installed module reports its version as 1.2.0. This is confusing. There are several bugs in this package besides the mismatched version number. I've forked a copy of the package on GitHub, and I will attempt a cleanup. In another private package of my own, I performed an unsavory hack in setup.py. There is a "version" argument to the setup() call. I define "version" as a global variable in setup.py. Before I call setup with this version number, I also modify the line of package code which defines its __version__. This works for me, but it feels wrong. Is there a recommended way to keep the internal reference and the setup.py reference in sync? Is there any reason someone would NOT want these numbers to match? Thanks for your input. -- https://mail.python.org/mailman/listinfo/python-list
Re: Should setuptools version propagate to a module's __version__? If so, how?
On Friday, May 8, 2020 at 6:07:33 PM UTC-7, John Ladasky wrote: > Is there a recommended way to keep the internal reference and the setup.py > reference in sync? Is there any reason someone would NOT want these numbers > to match? Replying to myself... I just found this: https://packaging.python.org/guides/single-sourcing-package-version/ -- https://mail.python.org/mailman/listinfo/python-list
Re: IP address to binary conversion
Just for the records and to have a fully working bidirectional solution: >>> ip '10.44.32.0' >>> struct.unpack('L', socket.inet_aton(ip))[0] 2108426 >>> socket.inet_ntoa(struct.pack('>> Good luck ;-) -- https://mail.python.org/mailman/listinfo/python-list
SaveAs on macOS Catalina.
https://bugs.python.org/issue40553 At least a couple of people have had problems using SaveAs from IDLE when running on macOS Catalina. But Ned Deily cannot reproduce the issue. I cannot because I have refused the buggy 'upgrade'. We could use more data. What do other Catalina Python users experience? If not an IDLE user, the experiment is easy. In terminal: $ python3 -m idlelib In IDLE: File => New File => SaveAs In the macOS saveas dialog: Enter a minimal name that does not match an existing .py name in Documents. Hit [Save] button. Does the dialog save and close, or does it clear the Document content list and freeze? The three Apple apps I looked at, Safari, Maps, and Keynote do not display folder contents. This might be the problem. What do other Mac apps do? -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
Re: SaveAs on macOS Catalina.
> On May 8, 2020, at 8:29 PM, Terry Reedy wrote: > > https://bugs.python.org/issue40553 > > At least a couple of people have had problems using SaveAs from IDLE when > running on macOS Catalina. But Ned Deily cannot reproduce the issue. I > cannot because I have refused the buggy 'upgrade'. We could use more data. > What do other Catalina Python users experience? > > If not an IDLE user, the experiment is easy. > > In terminal: > $ python3 -m idlelib > > In IDLE: > File => New > File => SaveAs > > In the macOS saveas dialog: > Enter a minimal name that does not match an existing .py name in Documents. > Hit [Save] button. Does the dialog save and close, or does it clear the > Document content list and freeze? > > The three Apple apps I looked at, Safari, Maps, and Keynote do not display > folder contents. This might be the problem. What do other Mac apps do? That is not the problem. 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 -- https://mail.python.org/mailman/listinfo/python-list
Re: IP address to binary conversion
al.alex...@gmail.com writes: > Just for the records and to have a fully working bidirectional solution: > > >>> ip > '10.44.32.0' > >>> struct.unpack('L', socket.inet_aton(ip))[0] > 2108426 > >>> socket.inet_ntoa(struct.pack(' '10.44.32.0' > >>> > > Good luck ;-) This will not work as expected on a big-endian machine, because 'L' means _native_ byte order, but 'https://mail.python.org/mailman/listinfo/python-list
Re: Not able use installed modules
On 7/05/20 4:15 PM, Music lover wrote: Hello python team, I have installed the latest version of python from your site. Then I successfully installed some modules like :- numpy , pandas, matplotlib from command prompt. But I am not able to use them while programing in python Idle. It's saying " no module named 'matplotlib' ." What do you mean by "It's saying..."? Please help us (volunteers) to help you... by copy-pasting the actual code and the actual error message into a reply to this message. The answers given already attempt to solve different possible problems, to which I can add - Are you using an import statement? - Does the error occur after the import? -- Regards =dn -- https://mail.python.org/mailman/listinfo/python-list
Re: SaveAs on macOS Catalina.
Am 09.05.20 um 04:37 schrieb Bev In TX: On May 8, 2020, at 8:29 PM, Terry Reedy wrote: https://bugs.python.org/issue40553 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 Can it be a problem with the underlying Tk version? If so, it would be helpful to isolate the Tk call and convert it to an equivalent Tcl script for the core developers to test. 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 -- https://mail.python.org/mailman/listinfo/python-list