Path: csiph.com!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.006 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'cpython': 0.05; 'subject:Python': 0.06; 'debugging': 0.07; 'setup.py': 0.09; 'subject:using': 0.09; 'yeah,': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'archive': 0.14; '.py': 0.16; 'adam': 0.16; 'all?': 0.16; 'exe': 0.16; 'reason.': 0.16; 'silly': 0.16; 'thinking,': 0.16; 'user?': 0.16; '(you': 0.16; 'sender:addr:gmail.com': 0.17; 'wrote:': 0.18; 'basically': 0.19; 'file,': 0.19; '(the': 0.22; 'cc:addr:python.org': 0.22; 'install': 0.23; "shouldn't": 0.24; "haven't": 0.24; 'software.': 0.24; 'cc:2**0': 0.24; 'source': 0.25; 'distribute': 0.26; 'asking': 0.27; 'header:In-Reply-To:1': 0.27; 'installed': 0.27; 'ideal': 0.29; "doesn't": 0.30; '(like': 0.30; 'have,': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; 'crash': 0.31; 'subject:development': 0.31; 'them?': 0.31; 'yes.': 0.31; 'probably': 0.32; 'option': 0.32; 'linux': 0.33; 'not.': 0.33; 'totally': 0.33; 'maybe': 0.34; 'subject:the': 0.34; 'agree': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'really': 0.36; 'installing': 0.36; 'like,': 0.36; 'should': 0.36; 'reports': 0.37; 'wrong': 0.37; 'sometimes': 0.38; 'files': 0.38; 'sure': 0.39; 'users': 0.40; 'how': 0.40; 'even': 0.60; 'most': 0.60; "you're": 0.61; 'july': 0.63; 'more': 0.64; 'kept': 0.65; 'to:addr:gmail.com': 0.65; 'world': 0.66; 'here': 0.66; '2-3': 0.68; 'secure': 0.71; "it'd": 0.84; 'theres': 0.84; 'archive.': 0.93; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=y+ft1xwx3uh4+JLzXhJpvebTGNdXWOYPgcBKCgsICfA=; b=X6i2qqgVRGByCRHnbR+tNhwzBAzWuFnks0uezvbbXWLd2rrPF8fhmznm81uA+kNaxD MozRqoBHpjBKxheHvr54LStGLgqxjBWYBHqvdrPT3h/fT5i9UV9+gs/v7CdufoKMZ3hA W8upcWJjdbOln13AXKASfADpSHXp1yKiOUaHEGk0BM47lJ52uZafp8NyTl4+YxKlB9XE VCGP9VnmU55wlVPpJ35nP6kdxIpBjK8VGi6FdOQNyXun/rU0Zw3ZTYwwG66Icau1lOw3 n6AE2vkniAtCUGQhIZ0K50HEGBgI4SK7rAy/ogvDLBzD5p1TreAusOjeUI6KnOSmTlIY 60UQ== X-Received: by 10.152.88.78 with SMTP id be14mr13872000lab.19.1373415325778; Tue, 09 Jul 2013 17:15:25 -0700 (PDT) MIME-Version: 1.0 Sender: joshua.landau.ws@gmail.com In-Reply-To: References: <51f7f573-e4a6-4349-ae50-21de7780ed8c@googlegroups.com> From: Joshua Landau Date: Wed, 10 Jul 2013 01:14:44 +0100 X-Google-Sender-Auth: 3fK-aImlQ-lfT5vAi7Wjb2Mu3EQ Subject: Re: the general development using Python To: CM Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: python-list X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 53 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1373415327 news.xs4all.nl 15942 [2001:888:2000:d::a6]:36372 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:50288 On 10 July 2013 00:35, CM wrote: > On Tuesday, July 9, 2013 5:13:17 PM UTC-4, Joshua Landau wrote: >> On 9 July 2013 03:08, Adam Evanovich wrote: >> > Can you wrap source code/libs/apps into an EXE and just >> > send that to the end user? Or is it more complicated for them? > >> Urm.. yes. But don't. That's the "nuclear" option and isn't a good >> one. If you have a *really genuinely good reason* (you probably don't) >> to do this, there are ways. > > I still think you are overstating it somewhat. Have a website on which y= ou distribute your software to end users (and maybe even--gasp--charge them= for it)? *That's* a good reason. Not really. It'd be a good reason if it disqualifies the other options, but it doesn't. Just give them an archive. If you're worried about keeping your code "safe" then: 1) You're going about it the wrong way. Like, seriously wrongly. 2) It's not going to be totally secure even if you do it the right way. The most safeyest way you can do with Python AFAIK=C2=B9=C2=B2 is a long wi= nded process to basically just "compile it with Cython". Note that it still requires CPython (the normal python interpreter) to be installed -- you get lots of .so files instead of a .exe. There are other silly things you can do as well. > And that's one of the top ways that users get software. Pah, I much prefer it over here on Linux :P. > Also, many programs rely on 2-3 dependencies, and sometimes that is askin= g a lot of the end user to install. (I know, I know, it shouldn't be...and= with things like pip it really shouldn't be, but you know how it goes). But why do they need to install it at all? If you're not installing the .py file, then just include those dependencies in the archive -- .py files are tiny. If you are installing the .py with a setup.py (like with the link I included), then just install them at the same time. > I completely agree with you in Ideal World thinking, but in the gnarly on= e we actually have, .exe files *often* have their place. Yeah, but not for Python :P. For Python .exe files are a rarity and should be kept that way. =C2=B9 I'm not even sure that Cython doesn't keep a copy of the original code for crash reports and other debugging stuff... =C2=B2 Theres also Nuitka, which I found right now, so I'm not sure if it's any good for this or not. I haven't tried, really.