Когда я упаковываю проект django, я использую;
pyi-makespec -D manage.py
и добавьте что-нибудь полезное в manage.spec (согласно справочнику ).Затем используйте
pyinstaller manage.spec
Однако возникает следующее ImportError
:
t\typhoon\typhoon2>pyinstaller manage.spec
100 INFO: PyInstaller: 3.5
100 INFO: Python: 3.7.3
101 INFO: Platform: Windows-10-10.0.17763-SP0
102 INFO: UPX is not available.
104 INFO: Extending PYTHONPATH with paths
['D:\\Data\\Pycharm_project\\typhoon\\typhoon2',
'D:\\Data\\Pycharm_project\\typhoon\\typhoon2']
104 INFO: checking Analysis
104 INFO: Building Analysis because Analysis-00.toc is non existent
104 INFO: Initializing module dependency graph...
108 INFO: Initializing module graph hooks...
113 INFO: Analyzing base_library.zip ...
3754 INFO: running Analysis Analysis-00.toc
3771 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by C:\Users\gql\Miniconda3\python.exe
4318 INFO: Caching module hooks...
4323 INFO: Analyzing manage.py
4389 INFO: Processing pre-find module path hook distutils
8221 INFO: Loading module hooks...
8221 INFO: Loading module hook "hook-distutils.py"...
8223 INFO: Loading module hook "hook-django.core.cache.py"...
8366 INFO: Loading module hook "hook-django.core.mail.py"...
8447 INFO: Loading module hook "hook-django.core.management.py"...
8484 INFO: Import to be excluded not found: 'tkinter'
8484 INFO: Import to be excluded not found: 'IPython'
8485 INFO: Import to be excluded not found: 'matplotlib'
8485 INFO: Loading module hook "hook-django.db.backends.py"...
9506 WARNING: Hidden import "django.db.backends.__pycache__.base" not found!
9506 INFO: Loading module hook "hook-django.py"...
Traceback (most recent call last):
File "<string>", line 41, in <module>
File "<string>", line 36, in walk_packages
File "<string>", line 36, in walk_packages
File "<string>", line 20, in walk_packages
File "C:\Users\gql\Miniconda3\lib\site-packages\django\contrib\gis\admin\__init__.py", line 5, in <module>
from django.contrib.gis.admin.options import GeoModelAdmin, OSMGeoAdmin
File "C:\Users\gql\Miniconda3\lib\site-packages\django\contrib\gis\admin\options.py", line 2, in <module>
from django.contrib.gis.admin.widgets import OpenLayersWidget
File "C:\Users\gql\Miniconda3\lib\site-packages\django\contrib\gis\admin\widgets.py", line 3, in <module>
from django.contrib.gis.gdal import GDALException
File "C:\Users\gql\Miniconda3\lib\site-packages\django\contrib\gis\gdal\__init__.py", line 28, in <module>
from django.contrib.gis.gdal.datasource import DataSource
File "C:\Users\gql\Miniconda3\lib\site-packages\django\contrib\gis\gdal\datasource.py", line 39, in <module>
from django.contrib.gis.gdal.driver import Driver
File "C:\Users\gql\Miniconda3\lib\site-packages\django\contrib\gis\gdal\driver.py", line 5, in <module>
from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi
File "C:\Users\gql\Miniconda3\lib\site-packages\django\contrib\gis\gdal\prototypes\ds.py", line 9, in <module>
from django.contrib.gis.gdal.libgdal import GDAL_VERSION, lgdal
File "C:\Users\gql\Miniconda3\lib\site-packages\django\contrib\gis\gdal\libgdal.py", line 43, in <module>
% '", "'.join(lib_names)
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal203", "gdal202", "gdal201", "gdal20", "gdal111"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in yo
ur settings.
10836 INFO: Determining a mapping of distributions to packages...
22917 INFO: Packages required by django:
['sqlparse', 'pytz']
22918 INFO: Django root directory D:\Data\Pycharm_project\typhoon\typhoon2\typhoon2
Traceback (most recent call last):
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\utils\hooks\subproc\django_import_finder.py", line 37, in <module>
list(settings.TEMPLATE_LOADERS) + \
File "C:\Users\gql\Miniconda3\lib\site-packages\django\conf\__init__.py", line 80, in __getattr__
val = getattr(self._wrapped, name)
AttributeError: 'Settings' object has no attribute 'TEMPLATE_CONTEXT_PROCESSORS'
23567 INFO: Collecting Django migration scripts.
29874 INFO: Processing pre-safe import module hook setuptools.extern.six.moves
30302 INFO: Processing pre-find module path hook site
30303 INFO: site: retargeting to fake-dir 'C:\\Users\\gql\\Miniconda3\\lib\\site-packages\\PyInstaller\\fake-modules'
34812 INFO: Processing pre-safe import module hook six.moves
35950 INFO: Loading module hook "hook-encodings.py"...
36014 INFO: Loading module hook "hook-lib2to3.py"...
36029 INFO: Loading module hook "hook-numpy.core.py"...
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "C:\Users\gql\Miniconda3\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\Users\gql\Miniconda3\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: 找不到指定的模块。
Traceback (most recent call last):
File "C:\Users\gql\Miniconda3\lib\pkgutil.py", line 493, in find_loader
spec = importlib.util.find_spec(fullname)
File "C:\Users\gql\Miniconda3\lib\importlib\util.py", line 94, in find_spec
parent = __import__(parent_name, fromlist=['__path__'])
File "C:\Users\gql\Miniconda3\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\Users\gql\Miniconda3\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: 找不到指定的模块。
Вышеупомянутое исключение было прямой причиной следующего исключения:
Traceback (most recent call last):
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 318, in get_module_file_attribute
loader = pkgutil.find_loader(package)
File "C:\Users\gql\Miniconda3\lib\pkgutil.py", line 499, in find_loader
raise ImportError(msg.format(fullname, type(ex), ex)) from ex
ImportError: Error while finding loader for 'numpy.core' (<class 'ImportError'>: DLL load failed: 找不到指定的模块。)
Во время обработки вышеуказанного исключения произошло другое исключение:
Traceback (most recent call last):
File "C:\Users\gql\Miniconda3\Scripts\pyinstaller-script.py", line 10, in <module>
sys.exit(run())
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\__main__.py", line 111, in run
run_build(pyi_config, spec_file, **vars(args))
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\building\build_main.py", line 844, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\building\build_main.py", line 791, in build
exec(code, spec_namespace)
File "manage.spec", line 17, in <module>
noarchive=False)
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\building\build_main.py", line 243, in __init__
self.__postinit__()
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__
self.assemble()
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\building\build_main.py", line 502, in assemble
module_hook.post_graph()
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\building\imphook.py", line 410, in post_graph
self._load_hook_module()
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\building\imphook.py", line 377, in _load_hook_module
self.hook_module_name, self.hook_filename)
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\compat.py", line 793, in importlib_load_source
return mod_loader.load_module()
File "<frozen importlib._bootstrap_external>", line 407, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 907, in load_module
File "<frozen importlib._bootstrap_external>", line 732, in load_module
File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
File "<frozen importlib._bootstrap>", line 696, in _load
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\hooks\hook-numpy.core.py", line 27, in <module>
pkg_base, pkg_dir = get_package_paths('numpy.core')
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 535, in get_package_paths
file_attr = get_module_file_attribute(package)
File "C:\Users\gql\Miniconda3\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 337, in get_module_file_attribute
raise ImportError
Как я могу решить эту проблему?