Pyinstaller - pre-safe-import-module hook failed, needs fixing - python

I am trying to use pyinstaller to turn my .pyw file into an .exe. I've done this process a few times before and everything has worked, however, this time around it has shown this error:
**
SyntaxError: invalid syntax
pre-safe-import-module hook failed, needs fixing.** I realise that this has problem has already been raised here https://stackoverflow.com/questions/69151708/pyinstaller-python-pre-safe-import-module-hook-failed-needs-fixing But this solution did not work for me. The last error cmd showed was ** File "c:\users\user1\appdata\local\programs\python\python39\lib\site-packages\logging\__init__.py", line 618
raise NotImplementedError, 'emit must be implemented '\ **
In case it helps, here are the packages im using in my code:
from optparse import Values
import PySimpleGUI as sg
import os, shutil
import time
import ctypes
from pathlib import Path
import winshell
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from fp.fp import FreeProxy
import winreg
import re
import threading

Related

pyinstaller "unable to find a txt file when adding a binary"

When i was converting my script to exe using pyinstaller i got an error:-
Unable to find "c:\users\praveen\appdata\local\programs\python\python36\lib\site-packages\importlib_resources\version.txt" when adding binary and data files
You can view the full error here:
https://drive.google.com/file/d/1FmV5kdb7p6TgEZwKBFDmFIszC-Qha0BD/view?usp=sharing
my script has alot of imports, they are:-
import tkinter as tk
import os
import time
import sys
from PyQt5 import QtWidgets, QtCore, QtGui
from PIL import ImageGrab
import numpy as np
import cv2
import pytesseract
import webview
what does that error mean? and why am i getting it?
You need to write the command correctly, example:
pyinstaller --add-data web_folder;web_folder --add-data db.sqlite;. gui.py
Description: title_of_folder_or_file;path_to_it (if your OS Windows use ";", else ":". On windows it's 100% but on linux or mac i don't know) for folder you need after ; set path to this folder, example web_folder;web_folder
Source - Official Documentation

ImportError: no module named uuid in python

I am new to python.
when I run a sample code in a one of file using the statement :
import uuid
res = uuid.uuid4()
It works but in another file as part of a product code, which throws the exception. Any clue why this is happening? It worked other import statements
import socket
import sys
bash-4.1$ python --version
Python 2.6.6

Why does my tkinter app will show a node.js window?

I use pyinstaller to pack a .py file.
Then when I use something about web crawler (I use requests module).
This window will show and disappear fastly.
I want to say that it is maybe incredible.It wouldn't pop this window when I run this .py file,but after using pyinstaller to pack it,it will pop this window.
(In another computer,it doesn't install node.js.And it doesn't pop this window)
Here is the module I use:
from pynput import keyboard
from PIL import Image, ImageTk
import ctypes
from io import BytesIO
import threading
from win10toast import ToastNotifier
import base64
from win32com.shell import shell
import requests
import execjs
import sys
import pythoncom
import getpass
import tkinter
from random import randint
from tkinter import ttk
from tkinter import messagebox
import os
import json
import traceback
from webbrowser import open_new_tab
from tkinter import scrolledtext
import win32con, win32clipboard, win32gui
from PIL.ImageGrab import grabclipboard, grab
from aip import AipOcr
import time
And the window is this:
What should I do except uninstall node.js? How to avoid this node.js window shows?
Thanks in advance.
Thanks bro,acw1668's suggestion enlighten me a lot.
I want to say,execjs module will run js code.
And if your computer install node.js and you set PATH for node.js,Then your default js environment is node.js(If you don't install node.js,then your default js environment is Jscript in windows system).
So if you doesn't want to use node.js,you should set the default js environment in python.
# change the js environment.
os.environ["EXECJS_RUNTIME"] = "JScript"
# all of environment which execjs support
PyV8 = "PyV8"
Node = "Node"
JavaScriptCore = "JavaScriptCore"
SpiderMonkey = "SpiderMonkey"
JScript = "JScript"
PhantomJS = "PhantomJS"
SlimerJS = "SlimerJS"
Nashorn = "Nashorn"

python: py2exe paramiko showing no results

I am using python 2.7.11 on Windows 7 64bit, I am facing a problem with py2exe when I import paramiko module, the .exe file runs but does not show any results, after executing it closes immediately knowing that i did not get any error during the conversion.
import paramiko
print raw_input("press enter to exit")
the setup.txt file:
from distutils.core import setup
import py2exe
setup(console=['test.py'])
I have found that in the "dist" folder there are some dll files such as API-MS-Win-Core-ErrorHandling-L1-1-0.dll - API-MS-Win-Core-LibraryLoader-L1-1-0.dll - API-MS-Win-Core-LocalRegistry-L1-1-0.dll, such files I don't usually face them on another machine, so could anyone help please.
I was able to solve this after importing some modules:
import appdirs
import packaging
import packaging.version
import packaging.specifiers
import packaging.requirements
hopefully that could be useful for someone.

Sys.path.append not loading depending on path order and package

I recently had to install for a local user on Centos7 a more recent version of python2.7(.10) than the default one (2.7.5) could not handle a task.
With one of my script, I have a weird issue. Here is the import section of my script:
#!/bin/env python2.7
import os
import sys
if not os.name=='nt':
sys.path.append('/usr/lib64/python2.7/site-packages')
sys.path.append('/usr/lib/python2.7/site-packages')
from bingads.service_client import ServiceClient
from bingads import authorization, reporting
from bingads import *
import webbrowser
from suds import WebFault
import datetime
import psycopg2
So this basically doesn't work and returns a missing module error, stating that ServiceClient cannot be found
Yet, if I comment out:
sys.path.append('/usr/lib/python2.7/site-packages')
then the module is found but then psycopg2 is not found anymore (althought it would be found without commenting the previous line...)
It really makes no sens to me... Anyone encountered this error?

Categories