Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove restriction on pylint and astroid versions. #177

Closed
wants to merge 1 commit into from

Conversation

heliomeiralins
Copy link
Contributor

@heliomeiralins heliomeiralins commented Jan 22, 2018

̶P̶r̶o̶s̶p̶e̶c̶t̶o̶r̶ ̶s̶o̶l̶v̶e̶d̶ ̶p̶r̶e̶v̶i̶o̶u̶s̶ ̶i̶s̶s̶u̶e̶s̶ ̶i̶n̶ ̶ prospector-dev/prospector#73
The constraints added to pylint breaks pipenv install --dev

Description

̶R̶e̶m̶o̶v̶e̶s̶ ̶r̶e̶s̶t̶r̶i̶c̶t̶i̶o̶n̶s̶ ̶r̶e̶l̶a̶t̶e̶d̶ ̶w̶i̶t̶h̶ ̶a̶ ̶p̶r̶o̶s̶p̶e̶c̶t̶o̶r̶ ̶b̶u̶g̶ ̶t̶h̶a̶t̶ ̶i̶s̶ ̶a̶l̶r̶e̶a̶d̶y̶ ̶s̶o̶l̶v̶e̶d̶.̶
I'm not sure where the bug was solved, since the related issue is still open

Motivation and Context

pipenv install --dev fails with: Could not find a version that matches pylint<1.8,>=1.0,>=1.5.6,>=1.8

Steps to reproduce:

Follow the Project Bootstrap section in Readme

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires documentation updates.
  • I have updated the documentation accordingly.
  • My change requires dependencies updates.
  • I have updated the dependencies accordingly.

@heliomeiralins
Copy link
Contributor Author

heliomeiralins commented Jan 22, 2018

darn. i referenced the wrong issue.

related issue is prospector-dev/prospector#200

I'm not sure why it works now, but I amd already using this configs in a project and everything seems fine.

@chocoelho
Copy link
Contributor

pylint-django creator wants it to be move to PyCQA according to him on code-quality mailing list[1]. I'll feel more safe to do an upgrade like this once this is done. What's your take on it @fjsj @filipeximenes @aericson?

[1. ] https://mail.python.org/pipermail/code-quality/2018-January/000950.html

@heliomeiralins
Copy link
Contributor Author

It makes sense to wait for a more final solution but Im afraid the boilerplate is broken right now. Try building in circleci or locally.

@aericson
Copy link
Contributor

@hugobessa pinned the version, he probably can contribute more to this discussion.

@heliomeiralins
Copy link
Contributor Author

It may be wise to add a discussion about these Pipenv related problems in another issue.
Every project that uses only a Pipfile(without a lock) and with permissive version constraints is subject to these kinds of errors.
@hugobessa fixed problems in f98f9bc and e578c9c due to lib incompatibilities on updates. These same commits now cause errors because some other lib requires a newer version of pylint.

In A better pip worflow, Kenneth uses both a requirements-to-freeze and a requirements.txt. if things break while upgrading the requirements-to-freeze, you can go back to the working version in requirements.txt.

Here, we have only a Pipfile and not a lock, so it's impossible to get a working version when things break.

I'm not sure what is the recommended way to solve these problems, but with a Pipfile.lock it's at least possible to get a working environment with pipenv install --ignore-pipfile --dev.

At the same time, maybe it's not that bad to expect users to be able to solve these issues.

Let me know what you guys think!

@hugobessa
Copy link
Contributor

hugobessa commented Jan 23, 2018

In the time I pinned the versions, no lib was asking for pylint>=1.8, that's why it was working.

This boilerplate never had requirements.txt, only requirements-to-freeze.txt. We only used to generate requirements.txt in the projects, never in the boilerplate.

I started a personal project with the boilerplate last week and I made it work by removing boilerplate pylint pinned version, but I'm still having problems with a conflict between autopep8 and prospector (pycodestyle version).

Using prospector has been a real pain, I think we should really consider replacing it.

@heliomeiralins
Copy link
Contributor Author

@chocoelho Pylint is already in PyCQA!

Also, there was some new update and prospector now fails with pylint.

Feel free to close this. I will keep an eye in the repo to see how you guys fix it.

@chocoelho
Copy link
Contributor

chocoelho commented Jan 24, 2018 via email

@chocoelho
Copy link
Contributor

@meiralins we went by removing pylint+astroid from Pipfile since they're prospector dependencies(pylint-django is now managed through PyCQA, we're trying to manage prospector ourselves somehow, but that's another discussion 😃) This is being resolved on #180. Thanks for the contribution.

@chocoelho chocoelho closed this Mar 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants