python - pyinstaller打包exe在別的電腦上運行不了,出現fail to execute script
問題描述
這是一部分的warn文件missing module named fcntl - imported by tempfile, subprocess, tornado.platform.posix, zmq.eventloop.minitornado.platform.posix, backports.shutil_get_terminal_size.get_terminal_size, prompt_toolkit.terminal.vt100_output, prompt_toolkit.eventloop.posix, pandas.util.terminal, sphinx.util.console, gevent.os, gevent.fileobject, gevent.subprocessmissing module named org - imported by copymissing module named _sysconfigdata - imported by distutils.sysconfig, sysconfigmissing module named grp - imported by distutils.archive_util, shutil, tarfile, pathlib2missing module named pwd - imported by posixpath, getpass, distutils.util, distutils.archive_util, shutil, tarfile, webbrowser, pathlib2, netrc, docutils.frontendmissing module named ’PyQt5.sip’ - imported by C:UserstAnaconda2libsite-packagesPyInstallerloaderrthookspyi_rth_qt5plugins.pymissing module named readline - imported by cmd, pdb, code, pstats, dill.sourcemissing module named unittest._WritelnDecorator - imported by unittest, nose.plugins.multiprocessmissing module named unittest.mock - imported by unittest, matplotlib, sqlalchemy.testing.mockmissing module named ’six.moves.urllib_parse’ - imported by ’six.moves.urllib_parse’runtime module named six.moves - imported by dateutil.tz.win, dateutil.rrule, cycler, prompt_toolkit.utils, prompt_toolkit.document, prompt_toolkit.buffer, prompt_toolkit.layout.containers, prompt_toolkit.layout.controls, prompt_toolkit.layout.lexers, prompt_toolkit.layout.processors, prompt_toolkit.layout.margins, prompt_toolkit.styles.from_dict, prompt_toolkit.renderer, prompt_toolkit.key_binding.bindings.scroll, prompt_toolkit.key_binding.bindings.emacs, prompt_toolkit.key_binding.bindings.vi, prompt_toolkit.layout.menus, prompt_toolkit.terminal.vt100_output, prompt_toolkit.terminal.win32_input, prompt_toolkit.key_binding.input_processor, prompt_toolkit.terminal.vt100_input, patsy.util, patsy.parse_formula, patsy.tokens, sphinx.application, sphinx.locale, sphinx.util, ’six.moves.urllib’, sphinx.util.pycompat, sphinx.dir
問題解答
回答1:很明顯是缺少庫,你用的是什么選項,是打包成一個exe,還是有依賴文件。最重要的一點是Python設計出來不是為了讓你生成可執行文件用的,很明顯的缺點是你的代碼里引用庫使用不當的話生成的可執行文件和依賴文件會大的驚人。可以的話建議使用flask或者Django把你的程序發布為一個Web應用。
