Уменьшение .exe файла с использованием виртуальной среды - PullRequest
0 голосов
/ 14 апреля 2020

Я довольно новичок в Python (и в целом программирую, если честно) и использую pyinstaller для создания .exe-файла из .py-файла. После нескольких испытаний я понял, что в pyinstaller есть много ненужных библиотек, таких как scipy, что делает мой файл очень большим. Чтобы обойти это, я создал виртуальную среду и установил нужные мне модули. Тем не менее, когда я попытался сделать .exe в то время как все еще в venv с помощью pyinstaller -w -F -i "iconpath" filename.py он не работает (он просто останавливается после последней строки в коде ниже):

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, поскольку я использую Jupyter и Spyder довольно много

Спасибо всем

1 Ответ

0 голосов
/ 14 апреля 2020

коллекции включены в Python Стандартная библиотека , ее не нужно устанавливать.

...