'hello world' PyInstaller .app 打不开
'hello world' PyInstaller .app doesn't open
这是一个常见问题,尽管解决方案看起来多种多样并且 none 对我有所帮助。
像这样 question and this question,在 mac,我的 PyInstaller .app 在 Finder 中单击时无法打开。但是,从终端启动时它确实有效 ./helloWorldTest.app/Contents/MacOS/helloWorldTest.
在 Finder 中单击 .exe
文件时确实有效(从我的阅读来看,这似乎也很常见)。
与链接问题中的应用程序不同,我的应用程序不读取或写入任何文件:我已将我的实际应用程序(具有相同的问题行为)完全分解为一个简单的 hello world
版本:
# This is a trivial app with a loop to ensure it stays open long enough to actually see something happen before the script finishes.
print('hello world!')
i = 0
while i < 1000000:
print('hello world number: ', i)
i += 1
虽然 >90% 的类似声音问题的解决方案都涉及更改路径,但这不是这里的问题,因为这个应用程序基本上没有任何内容。 那么,任何人都可以帮助我让这个基本应用程序正常工作,以便我可以从那里构建和调试吗?
这是我使用的 PyInstaller 命令:pyinstaller helloWorldTest.py --onefile --icon=dipyIcon.icns -w --clean
考虑到这个问题似乎很普遍,有点令人惊讶。无论如何,对于将来 searching/googling 的任何人,希望这会有所帮助。
该问题是由捆绑应用程序中使用的名为 Tcl
的默认版本引起的。最新的版本由于某种原因不能使用,需要手动设置为稍旧的版本。
注意:这个解决方案是manuelf23找到的,我只在这里转述。可以找原帖here
为此:
右键单击您的 .app 文件(带有图标的那个,您已经给了它一个)
单击 Show package contents
(您现在位于捆绑在一起的隐藏文件中。这些文件位于标准 OSX 结构中,与任何其他文件的结构相同mac
上的应用
导航到此文件:./Contents/Resources/tcl/init.tc
[注意,不要使用 --onefile 标志,否则资源文件夹中只会有您的图标]
在任何文本编辑器中打开 init.tc 文件并转到第 19 行
在第 19 行,您会找到这一行 (package require -exact Tcl 8.6.8) 并将其替换为 package require -exact Tcl 8.5.9
- 或者简单地将 Tcl 版本更改为 8.5.9
Et Voilà,vous êtes au top - 返回您的应用并双击您的图标
以防万一,这是我使用的 PyInstaller 命令:
pyinstaller myFileName.py -w --icon myIconName.icns
编辑:忘记link解决方案来源
这是一个常见问题,尽管解决方案看起来多种多样并且 none 对我有所帮助。
像这样 question and this question,在 mac,我的 PyInstaller .app 在 Finder 中单击时无法打开。但是,从终端启动时它确实有效 ./helloWorldTest.app/Contents/MacOS/helloWorldTest.
在 Finder 中单击 .exe
文件时确实有效(从我的阅读来看,这似乎也很常见)。
与链接问题中的应用程序不同,我的应用程序不读取或写入任何文件:我已将我的实际应用程序(具有相同的问题行为)完全分解为一个简单的 hello world
版本:
# This is a trivial app with a loop to ensure it stays open long enough to actually see something happen before the script finishes.
print('hello world!')
i = 0
while i < 1000000:
print('hello world number: ', i)
i += 1
虽然 >90% 的类似声音问题的解决方案都涉及更改路径,但这不是这里的问题,因为这个应用程序基本上没有任何内容。 那么,任何人都可以帮助我让这个基本应用程序正常工作,以便我可以从那里构建和调试吗?
这是我使用的 PyInstaller 命令:pyinstaller helloWorldTest.py --onefile --icon=dipyIcon.icns -w --clean
考虑到这个问题似乎很普遍,有点令人惊讶。无论如何,对于将来 searching/googling 的任何人,希望这会有所帮助。
该问题是由捆绑应用程序中使用的名为 Tcl
的默认版本引起的。最新的版本由于某种原因不能使用,需要手动设置为稍旧的版本。
注意:这个解决方案是manuelf23找到的,我只在这里转述。可以找原帖here
为此:
右键单击您的 .app 文件(带有图标的那个,您已经给了它一个)
单击
上的应用Show package contents
(您现在位于捆绑在一起的隐藏文件中。这些文件位于标准 OSX 结构中,与任何其他文件的结构相同mac导航到此文件:
./Contents/Resources/tcl/init.tc
[注意,不要使用 --onefile 标志,否则资源文件夹中只会有您的图标]在任何文本编辑器中打开 init.tc 文件并转到第 19 行
在第 19 行,您会找到这一行 (package require -exact Tcl 8.6.8) 并将其替换为 package require
-exact Tcl 8.5.9
- 或者简单地将 Tcl 版本更改为 8.5.9Et Voilà,vous êtes au top - 返回您的应用并双击您的图标
以防万一,这是我使用的 PyInstaller 命令:
pyinstaller myFileName.py -w --icon myIconName.icns
编辑:忘记link解决方案来源