Почему мое приложение tkinter показывает окно node.js? - PullRequest
1 голос
/ 22 февраля 2020

Я использую pyinstaller для упаковки .py файла.

Затем, когда я что-то использую в веб-сканере (я использую модуль запросов).

Это окно будет быстро отображаться и исчезать.

Я хочу сказать, что это, может быть, невероятно. Это окно не всплывало бы, когда я запускаю этот файл .py, но после использования pyinstaller для его упаковки оно откроет это окно.

(На другом компьютере не устанавливается node.js. И это окно не появляется)

Вот модуль, который я использую:

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

И окно выглядит так: enter image description here

Что мне делать, кроме удаления node.js? Как избежать этого node.js показа окна? Заранее спасибо.

1 Ответ

1 голос
/ 24 февраля 2020

Спасибо, брат, предложение acw1668 очень меня просветило.

Хочу сказать, что модуль execjs будет запускать код js. И если на вашем компьютере установлена ​​node.js и вы задали PATH для node.js, тогда ваша среда по умолчанию js равна node.js (Если вы не устанавливаете node.js, тогда среда по умолчанию js равна Jscript в системе windows).

Поэтому, если вы не хотите использовать node.js, вам следует установить среду js по умолчанию в 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"
...