我正在使用:
代码是:
import socket
print("test")
so = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
so.setblocking(True)
print(so)
我像这样启动pyinstaller
pyinstaller --noupx -D --log-level DEBUG test.py
当我启动可执行文件时,我得到以下内容:
Traceback (most recent call last):
File "test.py", line 1, in <module>
File "c:\python35-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "socket.py", line 49, in <module>
ImportError: No module named '_socket'
Failed to execute script test
警告文件warntest.txt看起来像这样(我缩短了它)
[...]
missing module named math.cos - imported by math, random, D:\Projet\eq_sim\test.py
missing module named socket.SOCK_STREAM - imported by socket, ssl, D:\Projet\eq_sim\test.py
missing module named socket.AF_INET - imported by socket, ssl, D:\Projet\eq_sim\test.py
missing module named socket.SO_TYPE - imported by socket, ssl, D:\Projet\eq_sim\test.py
missing module named socket.SOL_SOCKET - imported by socket, ssl, D:\Projet\eq_sim\test.py
missing module named copy.deepcopy - imported by copy, weakref, email.generator, D:\Projet\eq_sim\test.py
[...]
我查看了页面https://github.com/pyinstaller/pyinstaller/wiki/If-Things-Go-Wrong以找出问题,但没有成功。
我检查了存档文件 out00-PYZ.pyz ,似乎没问题
在目录[...] bincache00_py35_32bit /文件 _socket.pyd 存在,所以它似乎找到它。
我尝试过添加路径(-p)和其他东西,结果总是相同的
这是一个非常简单的案例,所以我想我在这里遗漏了一些东西
答案 0 :(得分:3)
好的伙计......我很惭愧......我没有运行好的可执行文件。
我在 build / 目录中运行了exe文件,我必须运行 dist / 目录中的那个。