> -----Original Message-----
> From: My Name <mname...@gmail.com>
> Sent: Monday, June 22, 2020 12:34 AM
> To: Allen Hewes <al...@decisiv.com>
> Subject: Re: Apparent bug in either (1) Cygwin default Package-list or
> (2) Package "bzr" dependency-list
>
> I'm intrigued, since you're the second person to recommend Breezy to
> me (the first being from the thread I cited previously). But I see
> it's not available via Cygwin Setup, and I got the idea that
> installing any software via pip for use in Cygwin is risky, because
> via pip, the software hasn't been ported for use in Cygwin, so there's
> no guarantee the software is compatible with Cygwin's quirks like, IIRC, 
> symbolic links. Is there validity to my concern?
>

I think the person that suggested Breezy in your ticket was one of the authors 
of Bazaar.

Well, just because a Python package isn't available via Cygwin setup doesn't 
mean it's not compatible. There are many Python packages that aren't packaged 
by the platform/OS packager/vendor. It's this way for Linux also and Perl and 
Ruby.

Pip/PyPy/distuls/wheels are all methods of packaging and distributing Python 
packages to downstream end-users. I would say they predate Cygwin but Cygwin 
itself has very long teeth. It's been around for a very long time. If Cygwin 
folks weren't around or if none of them cared enough to create Python packages 
as Cygwin packages, Python packages would still exist and need a mechanism for 
deploy/install to end-users. This is what pip does for Python. There are also 
methods of keeping your pip installs from the platform/OS packaged ones.

There are circumstances which Python package authors don't consider Cygwin or 
their package is intended to target a specific OS/platform. I have found that 
this is the exception and not the rule. Generally, for my use cases (AWS), I 
use pip exclusively and don't want Cygwin's versions of Python packages. I 
prefer *not* to use them. I also use pipenv/virtualenv and friends. Keep in 
mind, this is what I do for myself and the folks I help.

So this isn't a black or white type of thing. Some of it is A Cygwin Thing 
(requires a POSIX layer), some of it is A Windows Thing (don't need a POSIX 
layer), some of if is end-user choice.

You can make a general assumption (uh-oh) that if the Python package requires 
or has a C (but could also be Python) based part to it, you may (or may not) 
have trouble with it via pip on Cygwin. Here again, "it just depends" and this 
isn't quantifiable. Generally, the Python packages that don't support Cygwin 
will include this in the error message during the pip install, this also is a 
"it just depends".

I think a lot of this depends on the effort to make the Python package run on 
the destination target, like Cygwin. Every platform/OS does things differently 
with linking, libraries, headers, object files, pathing.

For instance, I use mostly (not all) pure Python packages (88 right now) and I 
install and manage them all via pip/virtualenv and not Cygwin Setup.

> How backwards compatible is Breezy with Bazaar? Even if it would be
> good for me to switch to Breezy in the long run, I'm trying to finish
> some projects important to me, and now wouldn't be a good time for me
> to have to learn anything new about version control.
>

The link I proved suggested full backwards compatibility to Bazaar, but I don't 
use Bazaar or have ever used it. I (must) use git/GitHub Enterprise, I don't 
have a choice.

> I hadn't known 2020 was a special year for python2, but now I'm
> gathering that 2020 might mean something bad for python2.
>

Well, Python was supposed to be gone in Jan 2020 but they released 2.7.18[1]. 
2.7.18 is supposed to be the last release again[1]. The Python project manages 
these types of thigs with PEPs. The one for Python 2.7 is PEP 0373[2].

> Thanks for giving me an alternative to consider. Last time I tried
> git, I wasn't a fan. Too complicated for a one-man, one-machine operation 
> like mine.
>

Since you like Bazaar, I would take a serious look at Breezy when you have time.

/allen

[1] from https://www.python.org/downloads/release/python-2718/, "Python 2.7.18 
is the last release of Python 2."
[2] https://www.python.org/dev/peps/pep-0373/


________________________________

Disclaimer Confidentiality Notice: This e-mail, and any attachments and/or 
documents linked to this email, are intended for the addressee and may contain 
information that is privileged, confidential, proprietary, or otherwise 
protected by law. Any dissemination, distribution, or copying is prohibited. 
This notice serves as a confidentiality marking for the purpose of any 
confidentiality or nondisclosure agreement. If you have received this 
communication in error, please contact the original sender.
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to