Pyinstaller在skimage标准演示脚本上失败

2024-05-18 09:40:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从列出的标准skimage演示脚本创建一个可执行文件here

import matplotlib.pyplot as plt

from skimage import data
from skimage.morphology import disk
from skimage.filters import rank


image = data.coins()
selem = disk(20)

percentile_result = rank.mean_percentile(image, selem=selem, p0=.1, p1=.9)
bilateral_result = rank.mean_bilateral(image, selem=selem, s0=500, s1=500)
normal_result = rank.mean(image, selem=selem)

fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 10),
                         sharex=True, sharey=True)
ax = axes.ravel()

titles = ['Original', 'Percentile mean', 'Bilateral mean', 'Local mean']
imgs = [image, percentile_result, bilateral_result, normal_result]
for n in range(0, len(imgs)):
    ax[n].imshow(imgs[n], cmap=plt.cm.gray)
    ax[n].set_title(titles[n])
    ax[n].set_adjustable('box-forced')
    ax[n].axis('off')

plt.tight_layout()
plt.show()

命令将是pyinstaller -F test.py

第一个问题,达到递归深度限制,可以通过增加递归深度限制来解决,如here。在

这样做之后,我得到了一个有效的*.exe文件,但警告文件包含80 kb的丢失模块,并在执行时以“No module named _cwt”中止。在

在hiddenimports中包含_-cwt(如所述)here不起作用。在

你知道下一步该怎么做吗?在

[编辑]

  • 我尝试过Win7和win10环境,使用的是python2.7和pyinstaller3.3
  • 来自的一些警告消息警告库.txt在

    缺少名为fcntl的模块-由tempfile,subprocess导入,龙卷风.平台.posix, 帕拉米科探员, zmq.eventloop.minitornado.平台.posix, backports.shutil_get_终端_大小.获取终端尺寸,IPython.utils。获取终端大小,提示_toolkit.terminal.vt100_输出,提示_toolkit.eventloop.posix, gevent.os系统, gevent.fileobject对象, gevent.子流程,py_终端写入程序 缺少名为org的模块-通过复制导入 缺少名为startup的模块-导入者pyeradline.keysyms.common, pyreadline.keysyms.keysyms 缺少名为System的模块-导入者pyreadline.console.ironpython_控制台, pyreadline.keysyms.ironpython_keysyms, 比利亚德林.rlmain, 叛徒。叛徒, IPython.utils.u进程 缺少名为pwd的模块-由posixpath、getpass、pathlib、shutil、tarfile导入,distutils.util,pathlib2,netrc,webbrowser,distutils.archive\u util,py_路径.local 缺少名为\u scproxy-由urllib导入的模块,future.backports.urllib.请求 缺少名为EasyDialogs的模块-由getpass导入 缺少名为termios的模块-由getpass,tty导入,backports.shutil_get_终端_大小.获取终端尺寸,IPython.utils。获取终端大小,提示_toolkit.terminal.vt100_输出,提示_toolkit.terminal.vt100_输入, IPython.core.page,py_终端写入程序 缺少名为SOCKS的模块-由ftplib导入 缺少名为rourl2path的模块-由urllib导入 缺少名为IronPythonConsole的模块-导入者pyreadline.console.ironpython_控制台 缺少名为clr的模块-导入者pyreadline.console.ironpython_控制台, pyreadline.clipboard.ironpython_剪贴板, 鼻套, IPython.utils.u进程 缺少名为'系统。Windows'-导入人pyreadline.clipboard.ironpython_剪贴板 缺少名为vms_lib的模块-由平台导入 缺少名为'org.python公司'-由pickle进口,xml.sax文件, setuptools.sandbox设置工具 缺少名为'java.lang语言'-平台导入,xml.sax文件.\u例外 缺少名为java的模块-由平台导入,mock 缺少名为“u xmlplus”的模块-由xml导入 缺少名为'碳纤维。锉刀'-由plistlib导入 缺少名为'Carbon文件'-由plistlib导入 缺少名为Carbon的模块-由plistlib导入 缺少名为MacOS的模块-由平台导入 缺少名为macresource的模块-由MacOS导入 缺少名为格式塔的模块-由平台导入


Tags: 模块文件image终端ipythonplt平台result