ImportError: cannot import name 'modname_tkinter' from 'PyInstaller.compat' - python

PyInstaller: 5.0.1
Python: 3.7.9
output: https://gist.github.com/phonebotco/eee157bd12a3b9f0792b2fcab9478636
I am trying to compilate my code with this command:
pyinstaller --onefile -F --uac-admin --icon="favicon_phonebot.ico" --exclude-module modname_tkinter --debug=all PhoneBot.py
I get this error message:
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\_pyinstaller_hooks_contrib\hooks\stdhooks\hook-IPython.py", line 16, in <module>
from PyInstaller.compat import modname_tkinter, is_win, is_darwin
ImportError: cannot import name 'modname_tkinter' from 'PyInstaller.compat' (c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\compat.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\gauth\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\users\gauth\appdata\local\programs\python\python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\gauth\AppData\Local\Programs\Python\Python37\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\__main__.py", line 178, in run
run_build(pyi_config, spec_file, **vars(args))
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\__main__.py", line 59, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\building\build_main.py", line 845, in main
build(specfile, distpath, workpath, clean_build)
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\building\build_main.py", line 767, in build
exec(code, spec_namespace)
File "H:\Mon Drive\Phonebot\Phonebot_debug3\PhoneBot.spec", line 20, in <module>
noarchive=False,
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\building\build_main.py", line 319, in __init__
self.__postinit__()
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\building\datastruct.py", line 173, in __postinit__
self.assemble()
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\building\build_main.py", line 487, in assemble
self.graph.process_post_graph_hooks(self)
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\depend\analysis.py", line 326, in process_post_graph_hooks
module_hook.post_graph(analysis)
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\depend\imphook.py", line 398, in post_graph
self._load_hook_module()
File "c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\depend\imphook.py", line 364, in _load_hook_module
raise ImportErrorWhenRunningHook(self.hook_module_name, self.hook_filename)
PyInstaller.exceptions.ImportErrorWhenRunningHook: Failed to import module __PyInstaller_hooks_0_IPython required by hook for module c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\_pyinstaller_hooks_contrib\hooks\stdhooks\hook-IPython.py. Please check whether module __PyInstaller_hooks_0_IPython actually exists and whether the hook is compatible with your version of c:\users\gauth\appdata\local\programs\python\python37\lib\site-packages\_pyinstaller_hooks_contrib\hooks\stdhooks\hook-IPython.py: You might want to read more about hooks in the manual and provide a pull-request to improve PyInstaller.
H:\Mon Drive\Phonebot\Phonebot_debug3>pyinstaller --onefile -F --uac-admin --icon="favicon_phonebot.ico" --exclude-module modname_tkinter --debug=all PhoneBot.py
The weird thing is I don't use Tkinter in my code. Can anyone help me please fix this issue?
Thanks

I was using Pyinstaller version 5.1 and had similar error. After I downgraded Pyinstaller to version 4.5.1 the problem was solved.

pip install -U pyinstaller-hooks-contrib
I was using an outdated version of pyinstaller-hooks-contrib - the offending import line in that IPython hook has been removed over a year ago.

for me helped update kivy lib to the last version

Related

Pyinstaller not building because permission denied to USS.jtx

I am getting the following error when using the pyinstaller (pyinstaller --onefile main.py --name pbot.exe) on windows:
329097 INFO: checking PKG
329097 INFO: Building PKG because PKG-00.toc is non existent
329099 INFO: Building PKG (CArchive) PKG-00.pkg
Cannot find ('nltk_data\AppData\Local\Comms\UnistoreDB\USS.jtx', 'C:\Users\adwaith\AppData\Local\Comms\UnistoreDB\USS.jtx', 1, 'x')
Traceback (most recent call last):
File "c:\users\adwaith\anaconda3\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\adwaith\anaconda3\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\adwaith\anaconda3\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\__main__.py", line 114, in run
run_build(pyi_config, spec_file, **vars(args))
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\__main__.py", line 65, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 734, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\building\build_main.py", line 681, in build
exec(code, spec_namespace)
File "C:\Users\adwaith\Documents\pbot_win\pbot.spec", line 20, in <module>
exe = EXE(pyz,
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\building\api.py", line 433, in __init__
self.pkg = PKG(self.toc, cdict=kwargs.get('cdict', None),
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\building\api.py", line 199, in __init__
self.__postinit__()
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\building\datastruct.py", line 160, in __postinit__
self.assemble()
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\building\api.py", line 283, in assemble
archive = CArchiveWriter(self.name, srctoc + mytoc,
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\archive\writers.py", line 336, in __init__
super(CArchiveWriter, self).__init__(archive_path, logical_toc)
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\archive\writers.py", line 63, in __init__
self._add_from_table_of_contents(logical_toc)
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\archive\writers.py", line 88, in _add_from_table_of_contents
self.add(toc_entry) # The guts of the archive.
File "c:\users\adwaith\anaconda3\lib\site-packages\PyInstaller\archive\writers.py", line 383, in add
fh = open(pathnm, 'rb')
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\adwaith\\AppData\\Local\\Comms\\UnistoreDB\\USS.jtx'
I have checked that the location and the USS.jtx files exist on my machine. Also, I tried searching about USS.jtx file but it keeps showing up in the context of git. I do have a Github desktop, so I thought maybe using pyinstaller from inside the git repo is causing problems. I then copied the entire repo to another location on my computer, but the problem persists.
I'm not normally a Windows guy, but I saw your post on Linkedin about this.
It seems to me that the file exists, but you don't have permission to read it. Have a look at this article and ensure that you have permission to read the file.
A quick and dirty way to check this is to just try opening the file in notepad or whatever the basic text editor is called in Windows.
If notepad gives an error on trying to open the file, then you need to fix the permissions. If notepad can open it without any changes to the permissions, then you have some oddness in how you are running pyinstaller.

Error with "mlflow ui" when trying to run it on MS Windows

When I run mlflow ui the following error occurred:
Traceback (most recent call last):
File "c:\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Anaconda3\Scripts\gunicorn.exe\__main__.py", line 5, in <module>
File "c:\anaconda3\lib\site-packages\gunicorn\app\wsgiapp.py", line 9, in <module>
from gunicorn.app.base import Application
File "c:\anaconda3\lib\site-packages\gunicorn\app\base.py", line 12, in <module>
from gunicorn import util
File "c:\anaconda3\lib\site-packages\gunicorn\util.py", line 9, in <module>
import fcntl
ModuleNotFoundError: No module named 'fcntl'
Traceback (most recent call last):
File "c:\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Anaconda3\Scripts\mlflow.exe\__main__.py", line 9, in <module>
File "c:\anaconda3\lib\site-packages\click\core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "c:\anaconda3\lib\site-packages\click\core.py", line 697, in main
rv = self.invoke(ctx)
File "c:\anaconda3\lib\site-packages\click\core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\anaconda3\lib\site-packages\click\core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\anaconda3\lib\site-packages\click\core.py", line 535, in invoke
return callback(*args, **kwargs)
File "c:\anaconda3\lib\site-packages\mlflow\cli.py", line 131, in ui
mlflow.server._run_server(file_store, file_store, host, port, 1)
File "c:\anaconda3\lib\site-packages\mlflow\server\__init__.py", line 48, in _run_server
env=env_map, stream_output=True)
File "c:\anaconda3\lib\site-packages\mlflow\utils\process.py", line 38, in exec_cmd
raise ShellCommandException("Non-zero exitcode: %s" % (exit_code))
mlflow.utils.process.ShellCommandException: Non-zero exitcode: 1
I used anaconda + python 3.6.5 and I installed git and set path with C:\Program Files\Git\bin\git.exe and C:\Program Files\Git\cmd.
I installed mlflow whit pip install mlflow and its version is 0.2.1.
I set a variable with name GIT_PYTHON_GIT_EXECUTABLE and value C:\Program Files\Git\bin\git.exe in Environment Variables.
How can I solve this?
firstly Uninstall 'mlflow' and 'waitress', then again install 'mlflow' .Now try it works
mlflow documentation already says that
Note 2: We do not currently support running MLflow on Windows.
Despite this, we would appreciate any contributions to make MLflow
work better on Windows.
You're hitting fcntl problem: it's not available on MS Windows platform because it's a "wrapper" around the fcntl function that's available on POSIX-compatible systems. (See https://stackoverflow.com/a/1422436/236007 for more details.)
Solving this requires modifying the source code of mlflow accordingly.

PyInstaller error with python script that uses OpenCV and VPython (DOS Header magic not found)

I am trying to generate exe file from a script that uses openCV and Vpython however I am having problems with it. I tried using pyinstaller with a simple print script it worked fine. when I try it with openCV only script it did not work and the same with Vpython only script, and both. the error I am getting is this:
Traceback (most recent call last):
File "C:\Python27\Scripts\pyinstaller-script.py", line 11, in <module>
load_entry_point('PyInstaller==3.2.1', 'console_scripts', 'pyinstaller')()
File "c:\python27\lib\site-packages\PyInstaller\__main__.py", line 90, in run
run_build(pyi_config, spec_file, **vars(args))
File "c:\python27\lib\site-packages\PyInstaller\__main__.py", line 46, in run_
build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line
788, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'
))
File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line
734, in build
exec(text, spec_namespace)
File "<string>", line 16, in <module>
File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line
212, in __init__
self.__postinit__()
File "c:\python27\lib\site-packages\PyInstaller\building\datastruct.py", line
161, in __postinit__
self.assemble()
File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line
535, in assemble
redirects=self.binding_redirects))
File "c:\python27\lib\site-packages\PyInstaller\depend\bindepend.py", line 227
, in Dependencies
for lib, npth in selectImports(pth, xtrapath):
File "c:\python27\lib\site-packages\PyInstaller\depend\bindepend.py", line 510
, in selectImports
npth = getfullnameof(lib, xtrapath)
File "c:\python27\lib\site-packages\PyInstaller\depend\bindepend.py", line 82,
in getfullnameof
if os.path.exists(npth) and matchDLLArch(npth):
File "c:\python27\lib\site-packages\PyInstaller\depend\bindepend.py", line 194
, in matchDLLArch
pe = pefile.PE(filename, fast_load=True)
File "c:\python27\lib\site-packages\PyInstaller\lib\pefile.py", line 1720, in
__init__
self.__parse__(name, data, fast_load)
File "c:\python27\lib\site-packages\PyInstaller\lib\pefile.py", line 1799, in
__parse__
raise PEFormatError('DOS Header magic not found.')
PyInstaller.lib.pefile.PEFormatError: 'DOS Header magic not found.'
I have:
PyInstaller: 3.2.1
Python: 2.7.13 x64
Platform: Windows-8.1 x64
what to do?
A better place to pose VPython questions is in the VPython forum at
https://groups.google.com/forum/?fromgroups&hl=en#!forum/vpython-users
There you might find VPython users who have experience with PyInstaller (I don't).

pyinstaller build error or not run script

all
i have one python file,now i want use pyinstaller to build bin file,but pyinstall report this error
Traceback (most recent call last):
File "/usr/local/bin/pyi-build", line 11, in <module>
sys.exit(run())
File "/usr/local/lib/python2.7/site-packages/PyInstaller/cliutils/build.py", line 37, in run
PyInstaller.build.main(None, args[0], **opts.__dict__)
File "/usr/local/lib/python2.7/site-packages/PyInstaller/build.py", line 1924, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "/usr/local/lib/python2.7/site-packages/PyInstaller/build.py", line 1873, in build
execfile(spec)
File "linux_server_script.spec", line 6, in <module>
runtime_hooks=None)
File "/usr/local/lib/python2.7/site-packages/PyInstaller/build.py", line 446, in __init__
self.__postinit__()
File "/usr/local/lib/python2.7/site-packages/PyInstaller/build.py", line 309, in __postinit__
self.assemble()
File "/usr/local/lib/python2.7/site-packages/PyInstaller/build.py", line 677, in assemble
self._check_python_library(binaries)
File "/usr/local/lib/python2.7/site-packages/PyInstaller/build.py", line 727, in _check_python_library
raise IOError("Python library not found!")
IOError: Python library not found!
my python fisrt build has no use --enable-shared,now i recompile python and add option "--enable-shared",i copy libpython*.so* to /usr/local/lib/,but the problem also.
if my export LD_LIBRARY_PATH=/usr/local/lib,can build success,but when i run script
[pyinstall#zixun-01 tmp]$ ./linux_server_script
Error loading Python lib '/tmp/libpython2.7.so.1.0': /tmp/libpython2.7.so.1.0: cannot open shared object file: No such file or directory
it was python lib error
pls del python clean and rebuild python 2.7 use "./configure --enable-shared"
and use pyinstall option "-p /usr/local/lib" to build

How to run pyinstaller correctly on cygwin?

I want to generate a .exe file from a python file but when i try to use pyinstaller I get an error "Python Library not found". I'm using python 2.7.10 and I'm using virtualenv as well. Should I type the path /usr/bin/python on the pyinstaller command or maybe the python path on the virtualenv?
EDIT: errors
16769 WARNING: lib not found: api-ms-win-core-kernel32-private-l1-1-1.dll dependency of C:\Windows/system32/user32.dll
16910 WARNING: lib not found: api-ms-win-core-privateprofile-l1-1-1.dll dependency of C:\Windows/system32/user32.dll
17413 WARNING: lib not found: api-ms-win-core-privateprofile-l1-1-1.dll dependency of C:\Windows/system32/GDI32.dll
Traceback (most recent call last):
File "/home/paulo-desktop/ENV/bin/pyinstaller", line 11, in <module> sys.exit(run())
File "/home/paulo-desktop/ENV/lib/python2.7/site-packages/PyInstaller/main.py", line 88, in run
run_build(opts, spec_file, pyi_config)
File "/home/paulo-desktop/ENV/lib/python2.7/site-packages/PyInstaller/main.py", line 46, in run_build
PyInstaller.build.main(pyi_config, spec_file, **opts.__dict__)
File "/home/paulo-desktop/ENV/lib/python2.7/site-packages/PyInstaller/build.py", line 1924, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "/home/paulo-desktop/ENV/lib/python2.7/site-packages/PyInstaller/build.py", line 1873, in build
execfile(spec)
File "/home/paulo-desktop/github/cmd3test/cmd3/pyinstaller/shell.spec", line 6, in <module>
runtime_hooks=None)
File "/home/paulo-desktop/ENV/lib/python2.7/site-packages/PyInstaller/build.py", line 446, in __init__
self.__postinit__()
File "/home/paulo-desktop/ENV/lib/python2.7/site-packages/PyInstaller/build.py", line 309, in __postinit__
self.assemble()
File "/home/paulo-desktop/ENV/lib/python2.7/site-packages/PyInstaller/build.py", line 677, in assemble
self._check_python_library(binaries)
File "/home/paulo-desktop/ENV/lib/python2.7/site-packages/PyInstaller/build.py", line 727, in _check_python_library
raise IOError("Python library not found!")
IOError: Python library not found!
(ENV)
I use cygwin too and I encountered this issue as well. I re-ran the cygwin installer and just added the python installer from there. It will be there once you run the app again.

Categories

Resources