-
-
Notifications
You must be signed in to change notification settings - Fork 382
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
Modify setup.py to explicitly support Py3.5 and above #471
Conversation
I put only 3.5 as everything else has reached EOL. |
This should probably be part of a 1.11.2 |
I have no skin in the game as far as versioning goes. If you do decide to do a major version bump then dropping the cloud dependencies with it would be nice. |
Also for bigger changes if you're unsure I would consider using pre-release builds. So something like |
@piskvorky My preference is to release this particular PR as a minor, because it's an incremental change over what's already available, and we can handle it relatively quickly to resolve at least some of the problems Py2 users are having. I think a version bump to 3.0 is good idea, but we should prepare for that, which will take time. What do you think? |
And what will py2 users get when they do I am more concerned with the whole thing working, than the version numbers as such. The versions are meant as a quick indication of "how severe are the changes in this release?" but otherwise nobody cares. Dropping half (?) of our user base is a pretty severe change, so I'm in favour of a major version bump. |
@Amertz08 Can you answer this definitively? OTOH, I don't know. (Looking at the docs suggests that the Py2 users will get the latest version that still supports Py2, according to setup.py, which is good).
Yes, I agree.
I agree that doing that as part of 1.11.0 was a poor choice. In retrospect, that should've been a major bump. Let's work on a plan to get us back into good shape. How about this?
Once we do that, will the problem for Py2 gensim users be resolved? Or will we still need to release gensim 3.8.2 to perform the version pin? @menshikh-iv |
This is what happens when you attempt to install via py2.
|
I don't believe it will point a python2 user to the last version that supports it. Just that it stops the user from installing it. |
Oh, OK. In that case, we'll have to pin 1.10.0 in Gensim. Is a conditional pin possible? I.e. "if you're on Py2.7, pin smart_open==1.10.0; otherwise, install the latest smart_open". |
Yeah you could. But you can't bring any of the new features in # setup.py
PY2 = sys.version_info.major == 2
requirements = ["a", "b"]
if PY2:
requirements = requirements + ["smart_open<1.11"]
else:
requirements = requirements + ["smart_open"]
setup(install_requires=requirements) But as I said |
Gensim looks to be used quite a bit. Dropping py2 support while it has be EOL since the beginning of the year still is a big change. I would probably hold off on this and work on gathering a clear roadmap of features and deprecations. Maybe a poll of your users just to see how many are actually still using python2. Not sure exactly just kinda spit balling here. My thought on a rough roadmap would be something like this
|
Python 2's EOL, as of a few months ago, technically means that even severe security issues won't get fixes. Anyone who can should rush for the exits, anyone who can't should be happy using older versions of libraries. (Supporting a "new" release, with new features, for an underlying platform – Py2 – that's without official maintenance seems to me an unwise example to users.) |
@@ -1,5 +1,7 @@ | |||
# Unreleased | |||
|
|||
- Modify setup.py to explicitly support Py3.5 and above (PR [#471](https://github.com/RaRe-Technologies/smart_open/pull/471), [@Amertz08](https://github.com/Amertz08)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Modify setup.py to explicitly support only Py3.5 and above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Title
Please pick a concise, informative and complete title for your PR.
The title is important because it will appear in our change log.
Motivation
Please explain the motivation behind this PR in the description.
If you're fixing a bug, link to the issue number like so:
Only allow Python3.5 and above
Checklist
Before you create the PR, please make sure you have:
Workflow
Please avoid rebasing and force-pushing to the branch of the PR once a review is in progress.
Rebasing can make your commits look a bit cleaner, but it also makes life more difficult from the reviewer, because they are no longer able to distinguish between code that has already been reviewed, and unreviewed code.