pyinstaller importError:没有模块名称'_socket'

时间:2016-07-13 14:47:56

标签: python sockets pyinstaller

我正在使用:

  • pyinstaller 3.2(我也尝试开发版)
  • Windows 10
  • python 3.5.2

代码是:

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)和其他东西,结果总是相同的

这是一个非常简单的案例,所以我想我在这里遗漏了一些东西

1 个答案:

答案 0 :(得分:3)

好的伙计......我很惭愧......我没有运行好的可执行文件。

我在 build / 目录中运行了exe文件,我必须运行 dist / 目录中的那个。