我想用Kivy和MapView部署一个Python项目。我使用PyCharm进行开发,当我用它运行项目时,一切都很好。 我还尝试使用python IDLE编译和运行我的项目,它也很好用!
我按照PyInstaller(https://www.pyinstaller.org/#pyinstaller-quickstart)的说明进行操作,并创建了文件夹。问题是我的.exe文件不起作用... cmd窗口已打开,但立即关闭。.
如果您需要更多说明,请告诉我:)谢谢!
答案 0 :(得分:0)
这是我的main.py
:
from mapview import MapView, MapMarker
from kivy.app import App
class MapViewApp(App):
def build(self):
map = MapView(zoom=15, lat=39.566848, lon=-76.377053, double_tap_zoom=True)
marker_1 = MapMarker(lat=39.566848, lon=-76.377053, source='marker.png')
map.add_marker(marker_1)
return map
MapViewApp().run()
还有我的main.spec
文件:
# -*- mode: python ; coding: utf-8 -*-
from kivy.deps import sdl2, glew
block_cipher = None
a = Analysis(['main.py'],
pathex=['C:\\Users\\John\\Documents\\PyCharmProjects\\MapViewPlay'],
binaries=[],
datas=[('marker.png', '.')],
hiddenimports=[],
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)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
name='main',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
还有我的目录结构:
-MapViewPlay
main.py
main.spec
-mapview
__init__.py
types.py
utils.py
.
.
.
上面的mapview
文件夹是刚刚复制到其中的garden\garden.mapview\mapview
文件夹(使用garden install --app mapview
安装),其余的garden
文件夹已删除。我认为这是一个hack。您不必这样做,但是建议的方法却行不通。我以pyinstaller
的身份运行pyinstaller main.spec
。