python - Python 3.6 将 tkinter 转换为 exe 后 - SSH 功能停止工作
问题描述
在我转换为 exe 之后,ssh(paramiko) 功能不再起作用。它不连接到设备。
我已经包含了 paramiko 和 socket 包。任何想法?
它正在使用未转换的版本。
安装程序.py 文件
import cx_Freeze
from cx_Freeze import setup, Executable
import os
import sys
includes = []
include_files = ["C:\\Python36-32\DLLs\\tcl86t.dll",
"C:\\Python36-32\DLLs\\tk86t.dll",
"C:\\Gustavo\\PyCharmPortable\\new\\cpass.ico",
"C:\\Gustavo\\PyCharmPortable\\new\\py2.py",
"C:\\Gustavo\\PyCharmPortable\\new\\py3.py",
"C:\\Gustavo\\PyCharmPortable\\new\\tn.py",
"C:\\Gustavo\\PyCharmPortable\\new\\file1.csv"]
PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = "C:\\Python36-32\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] = "C:\\Python36-32\\tcl\\tk8.6"
base = 'Win32GUI' if sys.platform == 'win32' else None
setup(name='Password Change', version='0.1', description='Password Change',
options={"build_exe": {"packages": ["tkinter","paramiko","PIL","socket","telnetlib"], "includes": includes, "include_files": include_files}},
executables=[Executable('cp.py', base=base)])
解决方案
尝试包括 socket.py/socketserver.py 和 _multiprocessing.pyd/_tkinter.pyd/_socket.pyd,这对我有用。
include_files = [
"C:\\Python36-32\DLLs\\tcl86t.dll",
"C:\\Python36-32\DLLs\\tk86t.dll",
"Python36/Lib/socket.py",
"Python36/Lib/socketserver.py",
"Python36/DLLs/_multiprocessing.pyd",
"Python36/DLLs/_tkinter.pyd",
"Python36/DLLs/_socket.pyd",
"C:\\Gustavo\\PyCharmPortable\\new\\cpass.ico",
"C:\\Gustavo\\PyCharmPortable\\new\\py2.py",
"C:\\Gustavo\\PyCharmPortable\\new\\py3.py",
"C:\\Gustavo\\PyCharmPortable\\new\\tn.py",
"C:\\Gustavo\\PyCharmPortable\\new\\file1.csv",
推荐阅读
- azure - 自定义映像的 VM 部署停留在“创建”状态
- sql - 雅典娜大于日期列中的条件
- c# - 当水晶报告调用错误 80040154 类未注册(HRESULT 异常)
- node.js - 使用 react 框架时 node_modules 文件太多
- mysql - 如何使用 SQL 和 PHP 多个条件?
- jquery - jQuery:如何在 AJAX 帖子中发送 JSON 数据?
- c++ - C++ Cmake 没有在 Travis CI 服务器上设置编译器语言标准
- c# - SignalR:无法从控制器调用集线器方法
- arrays - 将多个项目添加到具有分隔符的数组中
- angular5 - 将ngrx效果与HttpClient一起使用时“未定义响应”