3.1.0 works fine, starting with 3.1.1 Tkinter bombs on some systems (Win 7 64bit, XP 32bit) like this:
PyInstaller Bootloader 3.x
LOADER: executable is C:\user\tcltest\tcltest_minimal.exe
LOADER: homepath is C:\user\tcltest
LOADER: _MEIPASS2 is NULL
LOADER: archivename is C:\user\tcltest\tcltest_minimal.exe
LOADER: Extracting binaries
LOADER: Executing self as child
LOADER: set _MEIPASS2 to C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40122
LOADER: Setting up to run child
LOADER: Creating child process
LOADER: Waiting for child process to finish...
PyInstaller Bootloader 3.x
LOADER: executable is C:\user\tcltest\tcltest_minimal.exe
LOADER: homepath is C:\user\tcltest
LOADER: _MEIPASS2 is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40122
LOADER: archivename is C:\user\tcltest\tcltest_minimal.exe
LOADER: SetDllDirectory(C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40122)
LOADER: Already in the child - running user's code.
LOADER: manifestpath: C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40122\tcltest.exe.manifest
LOADER: Activation context created
LOADER: Activation context activated
LOADER: Python library: C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40122\python27.dll
LOADER: Loaded functions from Python library.
LOADER: Manipulating environment (sys.path, sys.prefix)
LOADER: sys.prefix is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40~1
LOADER: Setting runtime options
LOADER: Bootloader option: pyi-windows-manifest-filename tcltest.exe.manifest
LOADER: Initializing python
LOADER: Overriding Python's sys.path
LOADER: Post-init sys.path is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40122
LOADER: Setting sys.argv
LOADER: setting sys._MEIPASS
LOADER: importing modules from CArchive
LOADER: extracted struct
LOADER: callfunction returned...
LOADER: extracted pyimod01_os_path
LOADER: callfunction returned...
LOADER: extracted pyimod02_archive
LOADER: callfunction returned...
LOADER: extracted pyimod03_importers
LOADER: callfunction returned...
LOADER: Installing PYZ archive with Python modules.
LOADER: PYZ archive: out00-PYZ.pyz
LOADER: Running pyiboot01_bootstrap.py
LOADER: Running pyi_rth__tkinter.py
LOADER: Running tcltest.py
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "lib-tk\Tkinter.py", line 1814, in __init__
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
C:/DOKUME~1/user/LOKALE~1/Temp/lib/tcl8.5 C:/user/lib/tcl8.5 C:/lib/tcl8.5 C:/user/library C:/library C:/tcl8.
.15/library C:/tcl8.5.15/library
This probably means that Tcl wasn't installed properly.
tcltest returned -1
LOADER: OK.
LOADER: Cleaning up Python interpreter.
LOADER: Back to parent (RC: -1)
LOADER: Doing cleanup
LOADER: Freeing archive status for C:\user\tcltest\tcltest_minimal.exe
Funny thing is, it works if the MEIPASS folder is one char less which happens occasionally:
C:\user\tcltest>tcltest_minimal.exe
PyInstaller Bootloader 3.x
LOADER: executable is C:\user\tcltest\tcltest_minimal.exe
LOADER: homepath is C:\user\tcltest
LOADER: _MEIPASS2 is NULL
LOADER: archivename is C:\user\tcltest\tcltest_minimal.exe
LOADER: Extracting binaries
LOADER: Executing self as child
LOADER: set _MEIPASS2 to C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282
LOADER: Setting up to run child
LOADER: Creating child process
LOADER: Waiting for child process to finish...
PyInstaller Bootloader 3.x
LOADER: executable is C:\user\tcltest\tcltest_minimal.exe
LOADER: homepath is C:\user\tcltest
LOADER: _MEIPASS2 is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282
LOADER: archivename is C:\user\tcltest\tcltest_minimal.exe
LOADER: SetDllDirectory(C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282)
LOADER: Already in the child - running user's code.
LOADER: manifestpath: C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282\tcltest.exe.manifest
LOADER: Activation context created
LOADER: Activation context activated
LOADER: Python library: C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282\python27.dll
LOADER: Loaded functions from Python library.
LOADER: Manipulating environment (sys.path, sys.prefix)
LOADER: sys.prefix is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282
LOADER: Setting runtime options
LOADER: Bootloader option: pyi-windows-manifest-filename tcltest.exe.manifest
LOADER: Initializing python
LOADER: Overriding Python's sys.path
LOADER: Post-init sys.path is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282
LOADER: Setting sys.argv
LOADER: setting sys._MEIPASS
LOADER: importing modules from CArchive
LOADER: extracted struct
LOADER: callfunction returned...
LOADER: extracted pyimod01_os_path
LOADER: callfunction returned...
LOADER: extracted pyimod02_archive
LOADER: callfunction returned...
LOADER: extracted pyimod03_importers
LOADER: callfunction returned...
LOADER: Installing PYZ archive with Python modules.
LOADER: PYZ archive: out00-PYZ.pyz
LOADER: Running pyiboot01_bootstrap.py
LOADER: Running pyi_rth__tkinter.py
LOADER: Running tcltest.py
LOADER: OK.
LOADER: Cleaning up Python interpreter.
LOADER: Back to parent (RC: 0)
LOADER: Doing cleanup
LOADER: Freeing archive status for C:\user\tcltest\tcltest_minimal.exe
Maybe because of this patch? https://github.com/pyinstaller/pyinstaller/commit/9c5d260dedc5237a59b5bbc111ca70e484c908f1
Test Code:
import Tkinter
root = Tkinter.Tk()
root.mainloop()
Confirmed, things work as expected with 9c5d260dedc5237a59b5bbc111ca70e484c908f1 and 455fdb595786f7a2f002c97d990dd74d2cc2e480 reverted.
Shortening Shorting the _MEI... folder name by one character might also solve this issue (the dirty way).
@temp56817906847
Shortening the _MEI... folder name by one character might also solve this issue (the dirty way).
You mean shorting, so it is a short pathname on Windows?
LOL, sorry.
Yeah somehow it is handled as a short pathname. It does not seem to mind the short folder names. Btw on one Win 8 System I could never reproduce the issue though it would also use the short pathnames.
From above:
Fail: LOADER: sys.prefix is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40~1
OK: LOADER: Post-init sys.path is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282
related: https://github.com/pyinstaller/pyinstaller/issues/763
well,
if you look into _tkinter.TclError carefully,
you can see it actually point to an incorrect temp path for tcl to looking for,
C:/DOKUME~1/user/LOKALE~1/Temp/lib/tcl8.5
my guess is is should be something like
C:/DOKUME~1/user/LOKALE~1/Temp/_MEI40~1/lib/tcl8.5
if you just import Tkinter from entry python script there is no such issue,
my guess is the os.environ somehow missing or misinterpreted when calling other python script,
maybe off by 1 issue, which is nasty
https://github.com/pyinstaller/pyinstaller/issues/1948
here is another one related
https://github.com/AndCycle/pyinstaller/commit/19718f4562a55f99d815987e0c3e7d3074ce9a0d
here is a dirty workaround which just import Tkinter anyway before any further path processing occur,
work for me,
@temp56817906847 could you test if this work for you?
the path issue happened with code like this
pyinstaller --onefile root_entry.py
root_entry.py
import child
child.py
import Tkinter
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
build this under windows 10x64, py 2.7.11 x32. develop branch PyInstaller,
runs fine at win10,
the tricky part is under win7 child.py will raise the TclError,
I haven't done any further test because some of my old program doesn't have similar issue,
needs time to nail it.
made some simple test show it do broken since 3.1.1 as first post suggest,
needs to do some automation bisect script to dig it out ...
here is the final trace result about how to fix this issue, nothing related to off by one error,
https://github.com/AndCycle/pyinstaller/commit/87c3791c794d90b076372fde5f56c9f548dc6c50
and I don't know why, which is the worst part I think,
needs someone to look into this before merge ....
the short file name processing is introduced at https://github.com/pyinstaller/pyinstaller/commit/1b8fe6dcd1da1ac8514c888d20f2280e84a66706 ,
but it never actually work until https://github.com/pyinstaller/pyinstaller/commit/9c5d260dedc5237a59b5bbc111ca70e484c908f1
https://github.com/pyinstaller/pyinstaller/commit/9c5d260dedc5237a59b5bbc111ca70e484c908f1 is found due to #1799, but it's not the correct fix for #1799 because it just dodge the buffer overflow #1889 which I found lately,
so it probably need a deep revise about the pro and cons bring by using sfn
@codewarrior0 I need your input about why short file name, I think Py2 doesn't use it by default, if this doesn't provide any benefits it probably just introduce more issue.
You're right, Python 2 does not use SFNs by default.
It gives the benefit of being able to launch a PyInstaller-built app when it is in a folder whose name can't be represented in the current code page. For instance, Japanese characters on an English or European system, or Cyrillic characters on a Chinese system, or oddball emoji characters on any system. The short file name replaces these characters with a numeric character code in addition to shortening the file name to 8 characters.
It was originally introduced to PyInstaller a couple of years ago, in fact. The original reason was issue #298, where non-ASCII characters in the app's folder caused it to fail to launch. I later found out the root cause of that issue was that the paths were being encoded with UTF-8 before being passed to Python, which expects them to be codepage-encoded instead. One of the commits you linked is from when I sorted all of that out and made sure all paths are in the right encoding before being given to Python.
So right now, the benefit of using SFNs is marginal at best: For example, someone who is using a Japanese system can launch an app if the folder has Cyrillic characters in it, and vice versa. (And they provide no benefit on Python 3, so they are not used at all in that case.)
The part of this issue that I find curious is this:
Fail:
LOADER: sys.prefix is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI40~1
OK:LOADER: Post-init sys.path is C:\DOKUME~1\user\LOKALE~1\Temp\_MEI4282
All of the other folder names in the path are shortened, but it is only the last one that seems to make Tk unable to find its lib folder.
got it, sfn do provide some benefit to avoid dealing with codepage issue,
that part is I don't get @temp56817906847 actually referring to,
because that debug output is happened before sfn,
the sys.path is correct set like prefix
LOADER: sys.prefix is C:\Users\CHIH-H~1\AppData\Local\Temp\_MEI23~1
LOADER: Post-init sys.path is C:\Users\CHIH-H~1\AppData\Local\Temp\_MEI234962
LOADER: Post-init sys.path sfn is C:\Users\CHIH-H~1\AppData\Local\Temp\_MEI23~1
that's why I pointed out the Tk looking for some weird position like
C:\Users\CHIH-H~1\AppData\Local\Temp
rather than
C:\Users\CHIH-H~1\AppData\Local\Temp\_MEI23~1
it's a mysterious this only happened on win7 and XP,
and only happended ouside main script
if you look into _tkinter.TclError carefully,
you can see it actually point to an incorrect temp path for tcl to looking for,C:/DOKUME~1/user/LOKALE~1/Temp/lib/tcl8.5
Negative, these are default paths. It more looks like it skips the correct one which should be at the start of this list of paths. Maybe the correct path is empty from the point of view of tcl - encoding problem?
if you just import Tkinter from entry python script there is no such issue,
There is at least on some systems - see OP. Confirmed on XP and freshly installed Win 7 (some european locale).
@temp56817906847 do you use official Python or something else like ActivePython?
I can't reproduce your result at main script.
my build env is official Py 2.7.11, within virtualenv, under Win10x64 US ver.
target is Win7x86 Traditional Chinese.
@AndCycle official Python 32bit 2.7.11 on Win10x64 failing target is Win7x64 both same european locale. It does not seem to happen all systems and even on systems that show the problem there is a small chance of it working (_MEI path is sometimes short enough there is no need for sfn).
@temp56817906847 that's the AndCycle@87c3791c794d90b076372fde5f56c9f548dc6c50 do, it just get rid of sfn processing around import,
so you can produce it at european ver of windows, maybe more specific about which ver?
at least it's a start point if someone else wanna poke around this,
I am not gonna traced into _tkinter, this already taking too much time from me,
will stick with the long path name for now or just push everything to py3.
So what about changing _MEI to _ME or _MI? That should fix things and looks even better! :)
Is it only this line: sprintf(prefix, "_MEI%d", getpid()); in pyi_utils.c that needs to be changed?
I believe we're running into this issue with our Tk application as well: https://github.com/google/spatial-media/issues/106
We built with PyInstaller 3.2.
Any word on getting this fixed or a possible workaround? We're hitting this with a TK application. It works on Win10 but fails on Win7. Doing import tkinter doesn't seem to help.
This was with 3.2 as well.
Also, I can confirm that rolling back to pyinstaller 3.1 fixes the issue.
I'm having a similar issue on 3.3-dev. I'm building on Windows 10 for distribution on 64 bit Windows 7 systems (currently packaging using --onedir, python v2.7.12). Works fine when testing on Windows 10, but fails on Windows 7 under certain conditions.
It appears that if any directory in the path to the executable contains more than 8 characters, the executable fails to start:
"C:\Users\user>"C:\Users\user\Desktop\app\123456789\CSV Merge Tool.exe"
Traceback (most recent call last):
File "scholastic_merge_csv\main.py", line 84, in <module>
File "lib-tk\Tkinter.py", line 1815, in __init__
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
C:/Users/user/Desktop/app/lib/tcl8.5 C:/Users/user/Desktop/app/lib/tcl8.5 C:
/Users/user/Desktop/lib/tcl8.5 C:/Users/user/Desktop/app/library C:/Users/user/D
esktop/library C:/Users/user/Desktop/tcl8.5.15/library C:/Users/user/tcl8.5.15/l
ibrary
If the path is changed to "C:\Users\user\Desktop\app\12345678\CSV Merge Tool.exe", the program starts successfully.
I have a similar issue. PyInstaller 3.2, build on Windows 10, Python 2.7.12, code using Tkinter. Using pyinstaller -F myscript.py (onefile), the executable works fine on Windows 10, but on Windows 7 I get the error described above. Workaround is to compile to a folder (instead of a single file) with pyinstaller myscript.py, then it works fine on both OS's.
This is also a problem for me with PyInstaller 3.1.1, building on Windows 10, Python 2.7.12 and _compiling to a folder_ (not a single file). Using the exe on Windows 7 fails with the above error. On Windows 10 and 8.1 the exe works fine.
I am not using PyInstaller 3.2.0 because of #1974, but if I understand correctly, neither 3.2.0 nor the development branch fix this issue anyway.
Downgrading to 3.1.0 (and also downgrading setuptools to 19.2 because of the problem described in #1941) fixed the issue for me.
Any news on this issue? Neither 3.2 nor 3.3dev (2016-12-16) do work. :(
Did Microsoft change something about short path handling (or just path handling) between Windows 7 and 8? It seems odd to me that the exact same binary would work on Windows 8/10 but fail on 7 without the bug involving Windows itself at some point...
Having the same issue here. The issue only occurs on Windows 7 for me, tested on two real computers and one VM. VM's with Windows 10 and Windows 8.1 run the program fine. Application is being developed on Windows 7, but it runs fine on that machine. PyInstaller also creates the executables on this machine, using version 3.2 on Python 2.7.13 64-bit. The full code of my command is:
"C:\Python_2.7\Scripts\pyinstaller.exe" "C:\Users\user\Source Code\GSF-Parser\main.py" --clean --windowed --icon="add-ins\assets\icon_green.ico"
Here is a workaround I have found working on a freshly installed Windows 7:
import sys
from os.path import dirname, join, basename
try:
tcl_lib = join(sys._MEIPASS, "lib")
tcl_new_lib = join(dirname(dirname(tcl_lib)), basename(tcl_lib))
import shutil
shutil.copytree(src=tcl_lib, dst=tcl_new_lib)
except:
pass
Put this code before any import of your main script and in your spec file, add the path to tcl and tk:
datas=[('C:\\Python27\\tcl\\tcl8.5', 'lib\\tcl8.5'),
('C:\\Python27\\tcl\\tk8.5', 'lib\\tk8.5')]
You may also want to delete the created folder at end of execution, but imo not necessary as we work in Temp dir.
I can confirm that this solution contributed by @dferrant works on Anaconda 2.7 and a clean Windows 7 installation as a distribution target.
Based on previous comments, there are a few workarounds for this issue.
As mentioned in #1948, you can manually copy the missing files from your local Python installation.
%LocalAppData%\Programs\Python)...\Python36-32\tcl\<missing_folder>)tcl folder (...\dist\<app_name>\tcl\<missing_folder>)--onefileRunning PyInstaller in --onefile mode seems to avoid this issue.
However, note that running in single file mode will increase startup time.
Downgrading to 3.1.0 (and also downgrading setuptools to 19.2 because of the problem described in #1941) fixed the issue for me.
Can a developer rename this issue to "_Tkinter fails on Windows 7 & XP due to path issues_"?
Just use the add-data option when calling pyinstaller:
pyinstaller --onefile ^
--add-data C:\Python27\tcl\tcl8.5;tcl\tcl8.5 ^
--add-data C:\Python27\tcl\tk8.5;tk\tk8.5 ^
some_app.py
Anybody to pick up and finish #2969?
Maybe related with this issue... I don't use Tk as dependency in my project (I have it installed in my mac though...) Why am I getting this error?
[7111] LOADER: Running pyi_rth__tkinter.py
Traceback (most recent call last):
File "site-packages/PyInstaller/loader/rthooks/pyi_rth__tkinter.py", line 28, in <module>
FileNotFoundError: Tcl data directory "<path>/dist/main/tcl" not found.
[7111] Failed to execute script pyi_rth__tkinter
I am on a Mac High Sierra
@gabycperezdias since you don't use tk, you can try
pyinstaller --clean --noconfirm --windowed --onefile --exclude-module tk --exclude-module tcl xxx.py
to ignore it.
I'm running on MacOS High Sierra, pyinstaller 3.3.1 and setuptools 40.2
87 INFO: PyInstaller: 3.3.1
287 INFO: Python: 3.6.5
299 INFO: Platform: Darwin-17.4.0-x86_64-i386-64bit
Executable gets created but
Traceback (most recent call last):
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/loader/rthooks/pyi_rth__tkinter.py", line 28, in
raise FileNotFoundError('Tcl data directory "%s" not found.' % (tcldir))
FileNotFoundError: Tcl data directory "/var/folders/zm/1shcpnrx3dn6tw7fjv3c0g_c01zf8k/T/_MEIfDC48q/tcl" not found.
[9421] Failed to execute script pyi_rth__tkinter
logout
Traceback (most recent call last):
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/loader/rthooks/pyi_rth__tkinter.py", line 28, in
raise FileNotFoundError('Tcl data directory "%s" not found.' % (tcldir))
FileNotFoundError: Tcl data directory "/var/folders/zm/1shcpnrx3dn6tw7fjv3c0g_c01zf8k/T/_MEIfDC48q/tcl" not found.
[9421] Failed to execute script pyi_rth__tkinter
logout
If I downgrade pyinstaller to 3.1 and setuptools to 19.2 as per @ugoertz comment
/Users//PycharmProjects//venv/bin/python -m PyInstaller --onefile main_gui.py
146 INFO: PyInstaller: 3.1
146 INFO: Python: 3.6.5
157 INFO: Platform: Darwin-17.4.0-x86_64-i386-64bit
158 INFO: wrote /Users//PycharmProjects//main_gui.spec
160 INFO: UPX is not available.
163 INFO: Extending PYTHONPATH with paths
['/Users//PycharmProjects/',
'/Users//PycharmProjects/']
163 INFO: checking Analysis
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/__main__.py", line 97, in
run()
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/__main__.py", line 90, in run
run_build(pyi_config, spec_file, vars(args))
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/__main__.py", line 46, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, *kwargs)
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 755, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 701, in build
exec(text, spec_namespace)
File "
File "/Users/
self.__postinit__()
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/building/datastruct.py", line 182, in __postinit__
if not data or self._check_guts(data, last_build):
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 279, in _check_guts
if Target._check_guts(self, data, last_build):
File "/Users//PycharmProjects//venv/lib/python3.6/site-packages/PyInstaller/building/datastruct.py", line 200, in _check_guts
if func(attr, data[attr], getattr(self, attr), last_build):
File "/Users//PycharmProjects/*/venv/lib/python3.6/site-packages/PyInstaller/building/utils.py", line 61, in _check_guts_toc_mtime
for (nm, fnm, typ) in old:
ValueError: not enough values to unpack (expected 3, got 1)
I got tcl and tk to work by following instructions here
pyinstaller --onefile \
--add-binary='/System/Library/Frameworks/Tk.framework/Tk':'tk' \
--add-binary='/System/Library/Frameworks/Tcl.framework/Tcl':'tcl' \
some_app.py
but then ttkthemes would be broken and give the same error
FileNotFoundError: [Errno 2] No such file or directory: '/private/var/folders/zm/1shcpnrx3dn6tw7fjv3c0g_c01zf8k/T/_MEIVnInVI/ttkthemes'
which I don't know how to fix as ttkthemes is a python package and not a framework as far as I can understand
@J4bbi : ttkthemes is indeed a Python package, but it uses Tcl-files to define the themes. Tcl is a separate programming language through which Tk is used (hence the name Tkinter: Tk interface). Currently, it does not play nice with pyinstaller. I do not really know why, but finding out has never really been a priority. As with all packages that fail with pyinstaller, you can just copy the whole folder over to the folder pyinstaller puts its output files in. You can automate this in a Python script if you want, check this script to see an example.
I tried all the above related to Windows 7, Python27 and pyinstaller 3.3.1 and still can't get my executable to run.
tcl\msgs\af.msg could not be extracted!
fopen: Permission denied
Tried the --add-data, tried copying the files into the /dist directory, tried downgrading to pyinstaller 3.1.0, nothing seems to work.
I had the same error. I tried to uninstall Python 2.7 64-bit version then install Python 2.7 32-bit. It worked for me.
Just use the add-data option when calling pyinstaller:
pyinstaller --onefile ^ --add-data C:\Python27\tcl\tcl8.5;tcl\tcl8.5 ^ --add-data C:\Python27\tcl\tk8.5;tk\tk8.5 ^ some_app.pyI tried this way锛宼hen I got a new error.
Traceback (most recent call last):
File "AutoCompare.py", line 17, in
shutil.copytree(src=tcl_lib, dst=tcl_new_lib)
File "shutil.py", line 171, in copytree
WindowsError: [Error 3] : 'C:\Users\*\AppData\Local\Temp\_MEI10~1\li
b/.*'
Closing; Stale
Most helpful comment
@gabycperezdias since you don't use tk, you can try
pyinstaller --clean --noconfirm --windowed --onefile --exclude-module tk --exclude-module tcl xxx.pyto ignore it.