TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Briefcase: Convert a Python project into a standalone native application

182 点作者 generichuman将近 2 年前

10 条评论

anonymouse008将近 2 年前
I&#x27;m going to ask a &#x27;self-taught&#x27; question, so my terms may be incorrect.<p>Has anyone solved the compiled libraries &#x2F; dynamic libraries &#x2F; linking problems for multiplatform apps? Everything works just fine with these python&gt;native app tools until you hit some esoteric library that&#x27;s not pure python.
评论 #36987944 未加载
评论 #36988457 未加载
评论 #36986799 未加载
评论 #36986396 未加载
评论 #36987305 未加载
评论 #36986776 未加载
评论 #36988005 未加载
评论 #36994583 未加载
nu11ptr将近 2 年前
How does this compare to PyInstaller or other packagers? What underlying tech does it use?
评论 #36985132 未加载
评论 #37002578 未加载
yellowapple将近 2 年前
&gt; If you’re on Linux, you should use the system Python provided by your operating system. You will be able to complete most of this tutorial using a non-system Python, but you won’t be able to package your application for distribution to others.<p>Why not?
评论 #36987285 未加载
40four将近 2 年前
I’ve had a lot of experience with another similar library, Kivy (kivy.org). These types of libraries, can be quite effective for the right use case. I shipped a couple mobile apps on both Google and Apple, so there’s that. I would check this out, but I do remember having to work through a lot of issues to get the mobile build just right. I wonder if a less mature project like this would have similar struggles?
评论 #36993455 未加载
评论 #36993409 未加载
mvdwoord将近 2 年前
Although I have never used any of their stuff, I had the pleasure of watching Russell from BeeWare at Pycon Colombia some years ago. It consistently presents itsself as an ecosystem I would like to work with, and if anything the naming of their projects is very nice.<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=TY4vb6V-gvc">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=TY4vb6V-gvc</a>
synergy20将近 2 年前
is this mainly for packaging python GUI programs cross-platform? how is it different from pyinstaller with tkinter?
velosol将近 2 年前
Anyone happened to use Toga with video streams? I&#x27;ve got some gstreamer stuff with Qt and it doesn&#x27;t need a rewrite yet but it&#x27;s a glimmer on the horizon.
mike_hearn将近 2 年前
Interesting timing! We&#x27;re just in the middle of adding Python support to Hydraulic Conveyor, which is a similar tool [1]. There&#x27;s a github issue [2] and mailing list that&#x27;ll get notified when it&#x27;s done. Disclosure: it&#x27;s commercial but free for open source projects.<p>There are many of these open source packagers and they all share very similar problems:<p>1. They don&#x27;t let you do software updates, even though software updates are practically mandatory for any real project. Electron is a stand-out here because it does address this, but their update engines are unmaintained for years and have some major unfixed problems (causes a lot of issues with Windows networks, for example).<p>2. Even in the very rare cases that they do, they don&#x27;t let you force updates on launch even though many apps need something like this to keep up with protocol changes. It&#x27;s one of the reasons people like web apps.<p>3. They don&#x27;t help you with signing. For example they don&#x27;t simplify key management, they don&#x27;t support cloud signing (essential since May because Microsoft now insist on HSMs for all keys, not just EV keys), or they don&#x27;t do notarization, or they don&#x27;t generate CSRs for you.<p>4. They require the use of CI to cross-build even when apps are written in portable frameworks that don&#x27;t require compilation. This is because they are just thin wrappers around the native tooling.<p>5. They&#x27;re invariably language specific even though there&#x27;s no good reason to be because 80% of the work is the same regardless of what language or framework you use.<p>6. They make MSI files for Windows even though MSI is deprecated.<p>It&#x27;s possible to bite the bullet, chew glass for a while and solve all these problems, which is what we did for Electron&#x2F;JVM&#x2F;Flutter&#x2F;native apps. You can reimplement all the native tooling so users can cross-build (i.e. make Mac packages from Linux&#x2F;Windows, Windows packages from Mac&#x2F;Linux etc), which enables releasing from developer laptops or cheap Linux CI workers. You can support software update by integrating Sparkle on macOS, apt on Debian&#x2F;Ubuntu and by using MSIX on Windows (and by then working around all the bugs in Windows to make it work well). You can generate download pages that work out the user&#x27;s OS and gives them the right download, and instructions for how to install self-signed apps if the developer isn&#x27;t code signing with a recognized certificate. You can abstract platform neutral things and expose platform specific things. Then you can write a parallel incremental build system so doing all the work is as fast as possible, and write lots of code to detect all the myriad mistakes people make and give good error messages or auto-fix them. Then you can make it support GitHub Releases. Then you can document it all.<p>But that big pile of glass isn&#x27;t particularly tasty, which is why open source projects don&#x27;t do it and we ask commercial users to pay for it.<p>Briefcase looks nice but it also seems to have all the problems listed above. I think once we add Python support Conveyor will be quite useful for the Python community, especially if we can find a workaround for pip not support cross-building of venvs. It would be great if you could just whip up a quick Python script, run one command and your installed clients start automatically updating, your download page updates, and the whole thing is no harder than releasing a static markdown-rendered website.<p>[1] <a href="https:&#x2F;&#x2F;hydraulic.dev&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;hydraulic.dev&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;hydraulic-software&#x2F;conveyor&#x2F;issues&#x2F;73">https:&#x2F;&#x2F;github.com&#x2F;hydraulic-software&#x2F;conveyor&#x2F;issues&#x2F;73</a>
评论 #36988703 未加载
评论 #36986057 未加载
评论 #36988444 未加载
doctorpangloss将近 2 年前
How do I turn a setuptools setup.py entrypoint into a standalone .exe for Windows users?
janalsncm将近 2 年前
This seems perfect for one of my projects.