python - PyInstaller 无法创建可执行文件
问题描述
希望你们一切都好。我在 Kivy 中开发了一个用于位置跟踪的 Python 脚本。现在我需要把这个脚本变成一个可执行文件(不需要一个文件的可执行文件;一个文件夹包就足够了)。我尝试了此处列出的步骤。我将首先向您展示我的文件内容;然后我在整个过程中完成的步骤:
.kv 文件
MapView:
id: map_view
zoom: 17
lat: app.latitude
lon: app.longitude
MapMarker:
id: map_view_marker
lat: app.latitude
lon: app.longitude
.py 文件(只是导入的模块)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from datetime import datetime
from kivy.lang import Builder
from kivy.app import App
from kivy.properties import StringProperty
from kivy.uix.boxlayout import BoxLayout
from kivy.clock import Clock
from kivy.garden.mapview import MapView, MapMarker
import mysql.connector
import os
我使用虚拟环境来开发脚本,因此我从虚拟环境命令窗口 (Windows CMD) 使用 PyInstaller。这是我使用的第一个命令:
python -m PyInstaller --name Pika mapview_try.py
之后,我修改了这样创建的 .spec 文件:
.spec 文件:
from kivy_deps import sdl2, glew
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['mapview_try.py'],
pathex=['C:\\Users\\Lenovo\\Desktop\\Bizero\\Pika_Takip'],
binaries=[],
datas=[],
hiddenimports=['kivy'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
a.datas += [('Code\mapview_try.kv', 'C:\\Users\\Lenovo\\Desktop\\Bizero\\Pika_Takip\mapview_try.kv', 'DATA')]
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='mapview_try',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False )
coll = COLLECT(exe, Tree('C:\\Users\\Lenovo\\Desktop\\Bizero\\Pika_Takip\\'),
a.binaries,
a.zipfiles,
a.datas,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
strip=False,
upx=True,
upx_exclude=[],
name='mapview_try')
之后,我在同一个 cmd 窗口中运行以下命令:
python -m PyInstaller Pika.spec
但是,当我尝试在此命令之后运行可执行文件时。我得到“kivy.garden”未找到错误。我可以找到这个模块的目录并直接添加到可执行文件的路径中吗?或者是否有一个命令参数可以用来导入所有模块?先感谢您。
解决方案
推荐阅读
- android - 收到通知时如何控制应用图标徽章的计数?
- java - 在 java 中获取张量的形状(我正在使用 org.pytorch 库)
- google-apps-script - Google 表格脚本修改 - 从第 4 行开始插入复选框
- android - 如何获得a的Y位置
参考元素? - python - 过滤查询,其金额字段的总和大于或小于一个数字
- c++ - c++11如何将遗留类转换为模板
- z-index - 即使提到绝对位置,z-index 也不起作用?
- vue.js - 在 vuejs 中按 chartjs 中的提交时更新数据
- angular - 角度数据表不显示导出按钮
- json - 如何以 JSON 格式获取 scrapy 2.x 日志?