qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 08/15] python: add pylint to pipenv


From: John Snow
Subject: Re: [PATCH v3 08/15] python: add pylint to pipenv
Date: Wed, 28 Oct 2020 20:06:36 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1

On 10/28/20 6:38 PM, Cleber Rosa wrote:
On Tue, Oct 20, 2020 at 03:35:48PM -0400, John Snow wrote:
We are specifying >= pylint 2.6.x for two reasons:

1. For setup.cfg support, added in pylint 2.5.x
2. To clarify that we are using a version that has incompatibly dropped
bad-whitespace checks.

Signed-off-by: John Snow <jsnow@redhat.com>
---

I'm not a huge fan of this level of verbosity that pipenv generates,
but at the same time, I've been bitten too many times by not providing
the entire dep tree in a "requirements.txt"-like style.  And it is
what pipenv uses, so there's no way around that.


Unless we don't use Pipenv :)

Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>


I will say I'm open to using tools that aren't Pipenv -- this is just something I knew how to use in order to provide a fairly robust venv-recreation mechanism, so I am using it. Don't know what I don't know, otherwise.

I hear Poetry is nice, but I haven't looked into it yet.

Tox I believe also does venv-management to some extent, though my impression of it was that it was less specific about the environments than Pipenv was and allowed more wiggle room. Could be wrong.

Pipenv does not manage multiple environments either, unlike Tox, which can multiplex your environments for different versions of things. That's one point in favor, perhaps.

If you'd like to propose using something else, feel free to fork this branch and implement something else; it's probably quicker that way than to have me learn tox/poetry/etc.

What I was using Pipenv to solve here is this:

"Create a package list pinned to explicit versions that is not for the purpose of installing or using the package, but is for the purpose of recreating a precise testing environment. Use this environment to run the linters with precisely known tooling versions."

My initial read was that using pip and requirements.txt alone was insufficient for this purpose; so I have been using Pipenv for the purpose.

Suggestions/patches welcome.

--js




reply via email to

[Prev in Thread] Current Thread [Next in Thread]