【发布时间】:2020-04-14 12:55:15
【问题描述】:
我对 Python 很陌生(坦率地说,一般来说编程),并且正在使用 pyinstaller 从 .py 文件创建 .exe 文件。经过几次试验后,我发现 pyinstaller 包含许多不必要的库,例如 scipy,这使我的文件变得非常大。 为了解决这个问题,我创建了一个虚拟环境并安装了我需要的模块。但是,当我尝试使用 pyinstaller -w -F -i "iconpath" filename.py 在 venv 中创建 .exe 时,它不起作用(它只是在下面代码的最后一行之后停止):
126 INFO: PyInstaller: 3.6
126 INFO: Python: 3.8.1
127 INFO: Platform: Windows-10-10.0.16299-SP0
128 INFO: wrote C:\Users\26039190\RefCal_v4\RefCal_v4.spec
131 INFO: UPX is not available.
139 INFO: Extending PYTHONPATH with paths
['C:\\Users\\26039190\\RefCal_v4', 'C:\\Users\\26039190\\RefCal_v4']
139 INFO: checking Analysis
139 INFO: Building Analysis because Analysis-00.toc is non existent
139 INFO: Initializing module dependency graph...
143 INFO: Caching module graph hooks...
153 INFO: Analyzing base_library.zip ...
5696 INFO: Processing pre-find module path hook distutils
5697 INFO: distutils: retargeting to non-venv dir 'C:\\Users\\26039190\\AppData\\Local\\Programs\\Python\\Python38-32\\lib'
9412 INFO: Caching module dependency graph...
9565 INFO: running Analysis Analysis-00.toc
9570 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by c:\users\26039190\env\scripts\python.exe
9601 INFO: Analyzing C:\Users\26039190\RefCal_v4\RefCal_v4.py
13180 INFO: Processing pre-find module path hook site
13181 INFO: site: retargeting to fake-dir 'c:\\users\\26039190\\env\\lib\\site-packages\\PyInstaller\\fake-modules'
14909 INFO: Processing pre-safe import module hook setuptools.extern.six.moves
21403 INFO: Processing pre-safe import module hook six.moves
122612 INFO: Processing module hooks...
122615 INFO: Loading module hook "hook-distutils.py"...
122622 INFO: Loading module hook "hook-encodings.py"...
122840 INFO: Loading module hook "hook-lib2to3.py"...
122846 INFO: Loading module hook "hook-matplotlib.backends.py"...
124362 INFO: Matplotlib backend "GTK3Agg": ignored
backend Gtk3Agg requires cairo
124925 INFO: Matplotlib backend "GTK3Cairo": ignored
cairo backend requires that pycairo>=1.11.0 or cairocffiis installed
125538 INFO: Matplotlib backend "MacOSX": ignored
cannot import name '_macosx' from 'matplotlib.backends' (c:\users\26039190\env\lib\site-packages\matplotlib\backends\__init__.py)
126226 INFO: Matplotlib backend "nbAgg": ignored
No module named 'IPython'
127194 INFO: Matplotlib backend "Qt4Agg": added
128011 INFO: Matplotlib backend "Qt4Cairo": ignored
cairo backend requires that pycairo>=1.11.0 or cairocffiis installed
128802 INFO: Matplotlib backend "Qt5Agg": added
129303 INFO: Matplotlib backend "Qt5Cairo": ignored
cairo backend requires that pycairo>=1.11.0 or cairocffiis installed
130180 INFO: Matplotlib backend "TkAgg": added
131163 INFO: Matplotlib backend "TkCairo": ignored
cairo backend requires that pycairo>=1.11.0 or cairocffiis installed
131845 INFO: Matplotlib backend "WebAgg": ignored
Traceback (most recent call last):
File "c:\users\26039190\env\lib\site-packages\matplotlib\backends\backend_webagg.py", line 27, in <module>
import tornado
ModuleNotFoundError: No module named 'tornado'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 12, in <module>
File "c:\users\26039190\env\lib\site-packages\matplotlib\backends\backend_webagg.py", line 29, in <module>
raise RuntimeError("The WebAgg backend requires Tornado.")
RuntimeError: The WebAgg backend requires Tornado.
132610 INFO: Matplotlib backend "WX": ignored
No module named 'wx'
133240 INFO: Matplotlib backend "WXAgg": ignored
No module named 'wx'
133885 INFO: Matplotlib backend "WXCairo": ignored
No module named 'wx'
134389 INFO: Matplotlib backend "agg": added
135129 INFO: Matplotlib backend "cairo": ignored
cairo backend requires that pycairo>=1.11.0 or cairocffiis installed
136202 INFO: Matplotlib backend "pdf": added
136913 INFO: Matplotlib backend "pgf": added
137455 INFO: Matplotlib backend "ps": added
138036 INFO: Matplotlib backend "svg": added
138739 INFO: Matplotlib backend "template": added
139367 INFO: Loading module hook "hook-matplotlib.py"...
139836 INFO: Loading module hook "hook-numpy.core.py"...
140027 INFO: Loading module hook "hook-numpy.py"...
140031 INFO: Loading module hook "hook-pkg_resources.py"...
140710 INFO: Processing pre-safe import module hook win32com
Traceback (most recent call last):
File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'win32com'
140839 INFO: Processing pre-safe import module hook win32com
Traceback (most recent call last):
File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'win32com'
140954 INFO: Excluding import '__main__'
140957 INFO: Removing import of __main__ from module pkg_resources
140966 INFO: Loading module hook "hook-pydoc.py"...
140976 INFO: Loading module hook "hook-PyQt5.py"...
有人能解释一下吗? 顺便说一句,我正在使用 anaconda,这可能是问题吗?有人说我应该卸载anaconda,但我不想删除anaconda,因为我经常使用Jupyter和Spyder
谢谢大家
【问题讨论】:
-
您应该单独发布您的问题。无论如何... 1.
collections是 Python 的 标准库 的一部分,因此无需单独安装。 2. 错误信息是什么? -
好的。感谢您的评论。好的,所以我不需要安装集合。谢谢!对于错误,它的说法如下: Traceback (most recent call last): File "c:\users\26039190\env\lib\site-packages\matplotlib\backends\backend_webagg.py", line 27, in
import tornado ModuleNotFoundError: No module named 'tornado' 在处理上述异常的过程中,又发生了一个异常: -
编辑您的问题以添加错误消息的内容并删除有关
collections的部分,它们在这里不值得提问,这将有助于使您的问题更加集中。 -
好的 sinoroc 感谢您的评论;希望现在更好
标签: python virtualenv pyinstaller