It is currently Mon Dec 17, 2018 5:18 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 25 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Fri Nov 16, 2018 12:46 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3727
Location: Mountain View, CA
I cannot find evidence of it now (because Dropbox revamped their forums at some point), but: for a long time there was a problem where on Windows, if you installed Python system-wide, the DLLs or environment variables (not sure which) related to that would cause Dropbox (which used some version of Python internally) to break in very weird and non-obvious ways (IIRC, dialog boxes wouldn't appear, and some others would appear but have no contents?); smelling of an ABI incompatibility problem. The only solution was to not install Python on Windows, or to create annoying workarounds (like batch files that would set the appropriate environment variables first, followed by running the script under the interpreter, rather than using per-user or system-wide env vars).

Dropbox in particular seems to have a history of this type of problem (on both *IX (including its own shared libraries that may conflict with system-wide ones) and Windows (a.k.a. DLL hell)), but in the thread some developers pointed out that it was a problem with the general model of Python-on-Windows in general and thus applied to more than just Dropbox. EVE just happens to be something that uses Python (quite heavily) as well.

Maybe this is something that was addressed with newer (3.x) Python somehow, I don't know, but when there's no official "we've fixed this problem" ever disclosed, folks are forced to continue assuming the problem exists indefinitely.

If the point was "I can write a Python program to do this for myself and me alone", then yeah, no problem. The situation changes when releasing software publicly, whether the author(s) like it or not.

Sorry for the OT.


Top
 Profile  
 
PostPosted: Fri Nov 16, 2018 2:33 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 7025
Location: Canada
I've never run into a problem like that with Python on Windows, but sure I can believe that Dropbox did something screwy with it at some point (though I've used both for a long while now). In general I've found it fairly easy to install, the 10 times or so I've done it... and the installer itself has gotten a lot better over the years.

...but here's some problems that I have had with it:

1. The Python 2 vs 3 schism. That manifest as a whole host of problems but this actually seems to be disappearing finally. The Python 2 holdouts seem to be very few by now. (For a long while the Windows version had a much harder time switching between the two, if you had both installed, but that was eventually mostly "solved", too.)

2. Basic Python was generally fine, but installing extra libraries (in particular PIL / Pillow for images) has never been "easy". It eventually became a bit better with the command line PIP utility being ported to Windows, but it remains something that I would never ask a "typical" user to do. I'm happy to tell someone "just install Python" to run a script, but if there's an extra library you have to install, I just wouldn't recommend it at all unless the person was a habitual Python user already.

To elaborate a little on that: at best the user has to figure out where and how to run a command line utility to install a package. With a common library like Pillow, it'll probably go smoothly as long as you can get that far. With less common libraries it's still a crapshoot. A lot of stuff is only really maintained for Linux and the installer will fail cryptically with internal jargon or sometimes fail and also make a mess on Windows. Depends on the package, who maintains it, etc. but there's a lot of Python library stuff out there that just doesn't work, or doesn't work reliably on Windows.

(There's also plenty of libraries accessible to PIP that will fail to install properly on Linux too, though. This has always been a mess, in my experience. PIP is a jungle.)

4. As far as solutions for compiling Python to a Windows EXE, in my experience these have always been terrible, and they still were the last time I looked at it. I've successfully gotten programs to run this way, but I've never produced something I would dare distribute to others with these tools. YMMV.

5. The Python documentation is horribly organized. I always have a hard time looking things up in it. Additionally, the online official docs are more or less unsearchable because it mixes in all sorts of cryptic results from documents for internals experts for almost any common keyword.


I find it an extremely useful tool though, and as long as libraries are out of the picture I think it's a pretty reasonable install for a lot of users.

(Of course for the case at hand... I wouldn't mix Python and an EXE, I'd just update the EXE, or rewrite the whole thing in Python. :P)


Top
 Profile  
 
PostPosted: Sat Nov 17, 2018 2:27 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7604
Location: Chexbres, VD, Switzerland
koitsu wrote:
*IX is not Windows, and Windows is not *IX.

You mean, *I*X (*); which is absurd since UNIX is completely obsolete and nobody uses this anymore so you might just as well say Linux.

(*) Even this is wrong if you are case sensitive, in which case it should be * but nobody would understand what you're taking about.


Last edited by Bregalad on Mon Nov 19, 2018 12:45 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sat Nov 17, 2018 3:57 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3727
Location: Mountain View, CA
Just because you believe everything uses Linux and nobody uses UNIX any more doesn't make it true. I said *IX and I meant *IX.


Top
 Profile  
 
PostPosted: Sat Nov 17, 2018 6:26 am 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20887
Location: NE Indiana, USA (NTSC)
Solaris is UNIX certified, as is macOS. Another pattern I've seen is "*n?x".


Top
 Profile  
 
PostPosted: Sat Nov 17, 2018 11:59 am 
Offline

Joined: Tue Aug 28, 2018 8:54 am
Posts: 111
Location: Edmonton, Canada
And everyone forgot BSD. Might as well call it *** to include all of them :)


Top
 Profile  
 
PostPosted: Sat Nov 17, 2018 12:07 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7833
Location: Seattle
BSD is as opposed to "system V", which are both *n*xes :p


Top
 Profile  
 
PostPosted: Sat Nov 17, 2018 1:27 pm 
Offline

Joined: Tue Aug 28, 2018 8:54 am
Posts: 111
Location: Edmonton, Canada
lidnariq wrote:
BSD is as opposed to "system V", which are both *n*xes :p


It is not Unix certified, so it is not Unix, it is *BSD :P


Top
 Profile  
 
PostPosted: Mon Nov 19, 2018 12:47 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7604
Location: Chexbres, VD, Switzerland
koitsu wrote:
Just because you believe everything uses Linux and nobody uses UNIX any more doesn't make it true. I said *IX and I meant *IX.

Since you are apparently for whathever reason excluding Linux, you could as well call "UNIX" by it's whole name instead of using periphrases.


Top
 Profile  
 
PostPosted: Mon Nov 19, 2018 1:21 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3727
Location: Mountain View, CA
Or I could say *IX which encapsulates UNIX, UNIX-like, and Linux all in one string. Here's some history of the term, where the upvoted answer is correct/accurate. But real/true UNIX systems are still in use today. So once again: I said what I meant, and I meant what I said. Heck, in my initial reply I even cited one, right alongside Linux in the same sentence. This conversation no longer serves any value.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 25 posts ]  Go to page Previous  1, 2

All times are UTC - 7 hours


Who is online

Users browsing this forum: Google [Bot] and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group