Python 使用pyinstaller冻结代码后出现WinError 10002错误
更新:这似乎与pyinstaller冻结套接字包的问题有关。在python中运行以下代码是可以的,但在使用pyinstaller冻结到exe后,会出现操作错误Python 使用pyinstaller冻结代码后出现WinError 10002错误,python,python-3.x,pyinstaller,Python,Python 3.x,Pyinstaller,更新:这似乎与pyinstaller冻结套接字包的问题有关。在python中运行以下代码是可以的,但在使用pyinstaller冻结到exe后,会出现操作错误 import socket try: socket.socket() except OSError as e: print(e) 原文: 我目前正在尝试构建一个python脚本,该脚本使用mySQL.connector查询mySQL数据库。在python中运行代码可以正常工作,但是当我使用pyinstaller冻结代码
import socket
try:
socket.socket()
except OSError as e:
print(e)
原文:
我目前正在尝试构建一个python脚本,该脚本使用mySQL.connector查询mySQL数据库。在python中运行代码可以正常工作,但是当我使用pyinstaller冻结代码并运行exe时,我得到一个OSError:[WinError 10022]当它尝试运行mysql.connector.connect
函数时,提供了一个无效的参数
我的代码如下:
import mysql.connector
def test(user, password, ip, query):
con = mysql.connector.connect(user=user,
password=password,
host=ip)
cursor = con.cursor()
cursor.execute(query)
rows = cursor.fetchall()
cursor.close()
con.close()
return rows
错误全文如下:
Traceback (most recent call last):
File "site-packages\mysql\connector\network.py", line 507, in open_connection
File "socket.py", line 134 in __init__
OSError: [WinError 10022] An invalid argument was supplied
环顾四周,我能找到的唯一与pyinstaller相关的mysql.connector问题是由于导入错误,而WinError 10022问题似乎与其他软件包有关。您能用这些凭据连接到mysql服务器吗?可能是套接字处于繁忙状态,我可以在python中直接连接,只有在尝试exe时才会发生错误。我刚刚更新了文本,因为我发现根本原因似乎是socket
包mysql.connector
正在使用。在pyinstaller冻结的exe中创建新套接字类时,它可能总是抛出该错误。可能pyinstaller没有识别出必须包含套接字库。如何构建冻结的exe文件?是否有明确包含包/模块的选项?您是否能够使用这些凭据连接到mysql服务器?可能是套接字处于繁忙状态,我可以在python中直接连接,只有在尝试exe时才会发生错误。我刚刚更新了文本,因为我发现根本原因似乎是socket
包mysql.connector
正在使用。在pyinstaller冻结的exe中创建新套接字类时,它可能总是抛出该错误。可能pyinstaller没有识别出必须包含套接字库。如何构建冻结的exe文件?是否有明确包含包/模块的选项?