<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Oct 23, 2014 at 1:31 PM, Petar <span dir="ltr"><<a href="mailto:petar.djetlic@gmail.com" target="_blank">petar.djetlic@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Stephen Hansen-3 wrote<br>
<span class="">> On Thu, Oct 23, 2014 at 11:01 AM, Petar<br>
</span>> &lt;<br>
> <a href="mailto:petar.djetlic@gmail.com">petar.djetlic@gmail.com</a><br>
> &gt;<br>
<span class="">>  wrote:<br>
><br>
>> - use freeze tools like py2exe or cx_freeze<br>
>><br>
><br>
> This. It gets you your exe and pyqt commercial and everything all packaged<br>
> into a directory to distribute, all without exposing pyqt to end users.<br>
> Its<br>
> used by almost every commercial Python program I'm aware of. Its not<br>
> really<br>
> that complicated and isn't actually specific to pyqt at all.<br>
></span><span class=""><br>
<br>
</span>Thanks. I used py2exe, and it worked ok, but I use a lot of matplotlib<br>
graphs. I call python scripts from other apps (not PyQt) that generate<br>
graphs and as strange as it sounds, it is easier for me to have already<br>
installed python with all dependencies on user's computers (it's really not<br>
a problem). The alternative is to generate exe for every graph (category).<br>
It is easier for me just deploying source files.<br></blockquote><div><br></div><div>I think its only easier because its what you're used to. You don't have to do an exe for every script, you could do a single runner exe instead. Put all your scripts that make graphs into a package, say, "petargraphs" with an __init__.py in it.</div><div><br></div><div>Then make one runner app called "makegraph" that takes a command line argument which is the name of the script under the package to do. So where before you called python graph1.py, now you call makegraph graph1. </div><div><br></div><div>Then when you freeze up that makegraph exe it'll distribute all your scripts/packages as pyc and you can include your PyQt libraries and they can use it and whatever else you use without exposing Python (and thus PyQt) to the users and therefore abiding (warning: IANAL) by the PyQt commercial license.</div><div><br></div><div>I do something similar in my day job with a very large and complex series of interconnected apps, though we're currently using a different graphical toolkit. Its just about changing how you organize things and its mostly a one time, upfront cost. After you've done that adding new scripts/whatever is easy.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Are there any problems with py2exe to generate exe for PyQt app?<br></blockquote><div><br></div><div>I've only done it experimentally, I'm not actually a commercial customer yet.  But I didn't have any issues.</div><div><br></div><div>That said, I use cx_Freeze instead of py2exe.... I'm looking at is PyQt5 and Python 3 as a target, and cx_Freeze supports py3 best.</div><div><br></div></div></div></div>