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

coala-bears updates setuptools #751

Closed
underyx opened this issue Aug 31, 2016 · 10 comments
Closed

coala-bears updates setuptools #751

underyx opened this issue Aug 31, 2016 · 10 comments

Comments

@underyx
Copy link
Member

underyx commented Aug 31, 2016

I don't think it's nice to change people's setuptools versions. This can potentially break entire systems.

@gitmate-bot
Copy link
Collaborator

Thanks for reporting this issue! A coalaian will look at it soon.

@sils
Copy link
Member

sils commented Aug 31, 2016

agree, did you install with -U? What should we do instead?

@underyx
Copy link
Member Author

underyx commented Aug 31, 2016

I did install with -U, yep, just realized that. Regardless, that's still no reason to change system packages. I think it's reasonable to assume that the system already has setuptools and remove it, especially since we don't even support old Python versions. Is there any reason the requirement needs to be there?

@sils
Copy link
Member

sils commented Aug 31, 2016

well with -U pip upgrades everything thats speced

@sils
Copy link
Member

sils commented Aug 31, 2016

we require setuptools

@underyx
Copy link
Member Author

underyx commented Aug 31, 2016

I know why it happened 💃

If I want to upgrade coala-bears from 0.8 to 0.9, I still wouldn't want it to break my system. I'm saying, maybe we could also just assume that setuptools is installed everywhere, and perhaps document the need for it.

@AbdealiLoKo
Copy link
Contributor

Btw, the setuptools in requirements.txt doesn't do much for us from what I understand because we import setuptools before we parse and give that requirement to pip.
Some testing would be good to check this though - maybe pip does some special handling

PS: We also have mentioned setuptools>=19.2 which is pretty high. setuptools v1.x is what was there in ubuntu-precise IIRC (which is still officially supported until next year)

@AbdealiLoKo
Copy link
Contributor

Apparently pip now throws an error if you do a source installation without setuptools asking you to install it.
https://github.com/pypa/pip/blob/3417fac05e48fff50497e07566ecaeb143065f02/pip/req/req_install.py#L382

@underyx
Copy link
Member Author

underyx commented Sep 2, 2016

we could also just assume that setuptools is installed everywhere, and perhaps document the need for it.

@AbdealiJK This is still my suggestion, which doesn't conflict with that fact.

@AbdealiLoKo
Copy link
Contributor

@underyx I know, I'm for it :) Just giving more proof.
I am still wondering whether whether adding setuptools in requirements.txt actually does anything. Because that file is only read after setuptools is imported.

@AbdealiLoKo AbdealiLoKo self-assigned this Sep 2, 2016
AbdealiLoKo added a commit that referenced this issue Sep 2, 2016
Pip automatically tells if setuptools is not installed when doing a
source install, and on wheel installs the setuptools is not needed as
the setup.py file doesn't exist anymore.
Also, coala will normally be installed using wheels in pip 6.x+ because
we upload wheels. Hence, we don't need setuptools.

The older versions of pip are anyway not being supported because we use
the ~= syntax. And the older versions of pip will just throw an import
error at the setuptools.

Hence, the setuptools in requirements.txt has no purpose other than
forcing the user to upgrade the setuptools above the lower version we
specify.

Fixes #751
AbdealiLoKo added a commit that referenced this issue Sep 3, 2016
Pip automatically tells if setuptools is not installed when doing a
source install, and on wheel installs the setuptools is not needed as
the setup.py file doesn't exist anymore.
Also, coala will normally be installed using wheels in pip 6.x+ because
we upload wheels. Hence, we don't need setuptools.

The older versions of pip are anyway not being supported because we use
the ~= syntax. And the older versions of pip will just throw an import
error at the setuptools.

Hence, the setuptools in requirements.txt has no purpose other than
forcing the user to upgrade the setuptools above the lower version we
specify.

Fixes #751
@rultor rultor closed this as completed in 4f01f11 Sep 3, 2016
jayvdb added a commit to jayvdb/coala that referenced this issue Dec 10, 2016
jayvdb added a commit to jayvdb/coala that referenced this issue Dec 18, 2016
Mixih pushed a commit to Mixih/coala that referenced this issue Dec 25, 2016
gosom pushed a commit to gosom/coala-bears that referenced this issue Jul 15, 2017
Pip automatically tells if setuptools is not installed when doing a
source install, and on wheel installs the setuptools is not needed as
the setup.py file doesn't exist anymore.
Also, coala will normally be installed using wheels in pip 6.x+ because
we upload wheels. Hence, we don't need setuptools.

The older versions of pip are anyway not being supported because we use
the ~= syntax. And the older versions of pip will just throw an import
error at the setuptools.

Hence, the setuptools in requirements.txt has no purpose other than
forcing the user to upgrade the setuptools above the lower version we
specify.

Fixes coala#751
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants