rasterio
- сложная библиотека, и она зависит от многих внешних библиотек. Ваша ошибка - ошибка загрузки DLL, которая означает, что в ней отсутствуют некоторые файлы DLL, требуемые для rasterio
. Я предлагаю вам следовать процессу установки в здесь и убедиться, что вы правильно установили rasterio
в вашей среде conda (используйте для этого новый env).
Далее, проверьте, что rasterio
импортируется без проблем с чем-то вроде:
import traceback
try:
import rasterio
print("Import OK!")
except ImportError:
print("Import Error!")
traceback.print_exc()
input()
Далее установите PyInstaller и используйте приведенный ниже файл спецификации:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['test.py'],
pathex=['C:\\Users\\Masoud\\Desktop\\test'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
a.datas += Tree('C:\\Users\\Masoud\\Anaconda3\\envs\\testEnv\\Lib\\site-packages\\rasterio\\', prefix='rasterio')
a.datas += Tree('C:\\Users\\Masoud\\Anaconda3\\envs\\testEnv\\Lib\\xml', prefix='xml')
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='test',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False,
runtime_tmpdir=None,
console=True )
В приведенном выше сценарии я перенесу целые библиотеки rasterio
и xml
в исполняемый файл, поскольку PyInstaller не может разрешить импорт модуля. Не забудьте изменить пути в соответствии с вашими настройками.
Наконец, сгенерируйте свой исполняемый файл с помощью:
pyinstaller test.spec