Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!rt.uk.eu.org!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!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.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'url:sourceforge': 0.03; 'subject:Python': 0.06; 'context': 0.07; 'distutils': 0.07; 'referring': 0.07; 'source.': 0.07; 'wednesday,': 0.07; 'appropriate.': 0.09; 'runtime': 0.09; 'second.': 0.09; 'setup.py': 0.09; 'subject:using': 0.09; 'runs': 0.10; 'cc:addr:python-list': 0.11; 'python': 0.11; 'archive': 0.14; 'random': 0.14; 'windows': 0.15; '"python': 0.16; '.py': 0.16; 'eclipse': 0.16; 'fine.': 0.16; 'installer,': 0.16; "linux's": 0.16; 'ought': 0.16; 'pyinstaller': 0.16; 'run-time.': 0.16; 'said.': 0.16; 'saying.': 0.16; 'setuptools,': 0.16; 'silly': 0.16; 'sources.': 0.16; 'such,': 0.16; 'sender:addr:gmail.com': 0.17; 'wrote:': 0.18; 'do.': 0.18; 'users.': 0.18; 'deployment': 0.19; 'file,': 0.19; 'possible,': 0.19; "python's": 0.19; 'slightly': 0.19; 'small,': 0.19; 'meant': 0.20; 'not,': 0.20; 'seems': 0.21; 'machine': 0.22; 'saying': 0.22; 'cc:addr:python.org': 0.22; 'install': 0.23; 'installation': 0.23; 'lets': 0.24; 'fine': 0.24; 'java': 0.24; "haven't": 0.24; 'environment': 0.24; 'cc:2**0': 0.24; "i've": 0.25; 'compiled': 0.26; 'shown': 0.26; 'second': 0.26; 'least': 0.26; 'header:In- Reply-To:1': 0.27; 'idea': 0.28; 'point': 0.28; 'testing': 0.29; 'rest': 0.29; 'url:code': 0.29; 'ease': 0.30; 'operations,': 0.30; 'statement': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; '(which': 0.31; 'software,': 0.31; '(possibly': 0.31; 'argue': 0.31; 'easy,': 0.31; 'extract': 0.31; 'libraries': 0.31; 'subject:development': 0.31; "user's": 0.31; 'file': 0.32; 'there.': 0.32; 'probably': 0.32; 'run': 0.32; 'text': 0.33; 'open': 0.33; 'computer.': 0.33; 'third': 0.33; 'subject:the': 0.34; 'agree': 0.35; 'something': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'add': 0.35; 'there': 0.35; 'really': 0.36; 'found.': 0.36; 'installing': 0.36; 'skip:> 10': 0.36; 'skip:j 20': 0.36; 'done': 0.36; 'doing': 0.36; "i'll": 0.36; 'should': 0.36; 'example,': 0.37; 'virtual': 0.37; 'application': 0.37; 'so,': 0.37; 'operating': 0.37; 'two': 0.37; 'sometimes': 0.38; 'system,': 0.38; 'manager': 0.38; 'massive': 0.38; 'files': 0.38; 'fact': 0.38; 'that,': 0.38; 'offer': 0.62; 'making': 0.63; 'such': 0.63; 'july': 0.63; 'url:p': 0.64; 'different': 0.65; 'relatively': 0.65; 'talking': 0.65; 'to:addr:gmail.com': 0.65; 'customers': 0.66; 'side': 0.67; 'url:co': 0.67; 'sales': 0.69; 'internet': 0.71; 'below.': 0.71; 'co.': 0.74; 'as:': 0.81; 'potentially': 0.81; 'buyers.': 0.84; 'click.': 0.84; 'hassle': 0.84; 'installer': 0.84; 'packing': 0.84; 'sees,': 0.84; 'thing,': 0.91; 'url:hu': 0.91; 'whereas': 0.91; 'kit': 0.97; 'serious': 0.97; '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=wqwhQwQQjdBC7mb8yVUc7KS8S/QajhA0EkZUs1/iGZU=; b=CcW/+kFljJyzoVc+anLZVzeOqQPQjXqNabxeYYJt6OHXH9Lse58ZWNaTbWIotgAJKP Tu7aS6oVQPscHUWoKn8kwa6T7KDDkBXkiJjcaGU5BYvMUS0UiY0zOaDo2dwCg/yzlXz1 LYKn4No44xJmtUW7+WfGT0VT9gFork6wMtPZjWMn2/58sdt3nhXRpbnrs1XUSEDaCJJY qFDuk/17FKaKKAmTDrEr2mGE96vNzeMY1VRiMqcbLXLK0XjohUFGsU2BJrzx8qKFvaWB 2JoWJUNKCW8dVxfUi+bEPl9IPBjwHQiejjZ/jYTdtNcWUXypiKvr8dSZBgDdd+62jnQe PjGg== X-Received: by 10.112.88.169 with SMTP id bh9mr14249171lbb.12.1373435395729; Tue, 09 Jul 2013 22:49:55 -0700 (PDT) MIME-Version: 1.0 Sender: joshua.landau.ws@gmail.com In-Reply-To: <3cca113a-90cc-445e-b609-2ed757212c4a@googlegroups.com> References: <51f7f573-e4a6-4349-ae50-21de7780ed8c@googlegroups.com> <884377a7-7c95-4f2f-a52f-2e47f98b98d0@googlegroups.com> <3cca113a-90cc-445e-b609-2ed757212c4a@googlegroups.com> From: Joshua Landau Date: Wed, 10 Jul 2013 06:49:15 +0100 X-Google-Sender-Auth: gMsmcxxvS_rVIT8Qut5nnhF8l8g 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: 103 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1373435403 news.xs4all.nl 15946 [2001:888:2000:d::a6]:52905 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:50298 On 10 July 2013 05:49, CM wrote: > On Wednesday, July 10, 2013 12:12:16 AM UTC-4, Joshua Landau wrote: >> On , CM wrote: >> >> > What I was thinking of was that if you are going to sell software, you= want to make it as easy as possible, and that includes not making the pote= ntial customer have to install anything, or even agree to allow you to "exp= licitly" install a runtime on their computer. If the potential customer ju= st sees, clicks, and installs, that should be the most they ought to have t= o do. > >> I don't really get what you are saying. Do you, or do you not, want it >> installed? > > I'm just saying that sometimes one goes to download new software and are = met with a statement such as: > > "Installing Eclipse is relatively easy, but does involve a few steps and = software from at least two different sources. Eclipse is a Java-based appli= cation and, as such, requires a Java runtime environment (JRE) in order to = run. ...Regardless of your operating system, you will need to install some = Java virtual machine (JVM). You may either install a Java Runtime Environme= nt (JRE), or a Java Development Kit (JDK), depending on what you want to do= with Eclipse." > > This is not always the type of thing you want your customers to encounter= . > > Can all the installation of the runtimes be done with an installer that i= s itself an .exe, like with PyInstaller? If so, that's probably fine. I don't get what PyInstaller has to do with that, it seems to do something other than what you said. The rest of my na=C3=AFve just-thought-of-it-now approach is below. >> > Maybe. I'll have to think about it. I'm referring to libaries as dep= endencies. So for example, though .py files are small, wxPython, for exampl= e, isn't tiny, nor are other libraries one might use. >> >> Please excuse the fact I haven't done anything serious on Windows in >> years so I'm not really sure what I'm saying. How does Windows deal >> with dependencies? >> >> It's going to have to be fetched at one point anyway, so that's either >> at download-time, install-time or run-time. The first lets you just >> add it to the archive, the second lets you deal with it through a good >> standard distribution manager thing, the third is potentially crazy. >> Hence, wutz za probem bruv? > > I'm good with the first way, and I'm fine with Linux's package manager/wh= atever doing it the second. For the second I meant something like setuptools, distribute, distutils and= co. > To simplify everything: sales require massive simplicity for (some) end = users. You can get 1-2 clicks out of them before they drop dead as buyers. I was mainly talking in the context of the original post, where it seems something slightly different was meant. If you're deploying to customers, you'd want to offer them an installer. At least, I think you would. That's different from packing Python into a .exe file and pretending it's good-to-go. If they don't want it installed, again the best thing to do is an archive with some "executable" (possibly a batch file or something -- you Windows people would know better what you need) that just runs "python main_file.py". Then get them to extract + click. That's 2 operations, and a lot faster than some silly install process. That does require them to install Python, but you can just add Python's installer in there. That makes 3 operations, but you can always make the "launcher" run the installer if it's not found. >Furthermore, and I haven't mentioned this yet, an .exe file on Windows has= the look of authenticity, whereas a .py file (which is a text file, really= ) doesn't, which might also matter to customer perceptions. This is all ps= ychology. Unfortunately I cannot argue with that stupidity. It's true but shameful. > The ease of deployment side is up for grabs, but yes, potentially a hassl= e for cross platform deployment. > > I'm open to the idea of using an installer .exe to set up the user's comp= uter with Python and all the libraries he needs to get going. I just haven= 't done that so far. There are a lot of ways of making an installer, and my current few Googles have shown that distutils comes with a way of making .msi files=C2=B9, and there's also http://wix.tramontana.co.hu/. Some random internet guy reccomended https://code.google.com/p/omaha/, but I've no idea if it's appropriate. There's also http://nsis.sourceforge.net/Main_Page. Again, I'm no Windows user so I'm talking by guessing. These are saner solutions because they focus on installing rather than pretending that a .exe file with a packaged Python is anything like a compiled C source. =C2=B9 Just run "python setup.py bdist_msi" with a working setup.py and you get a free .msi! I don't know what the .msi assumes, and I have no way of testing as of now.