-
-
Notifications
You must be signed in to change notification settings - Fork 402
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
Python 2.7.x support threatened by IPython requirement #1308
Comments
Well, now, that's distressing. I tested on my own server (which runs Sopel under Python 2.7.3…yeah, it's that old) and Sopel 6.5.3 will use conditional requirements based on (Did I mention that I don't think |
I agree that it is not something that I would prefer to keep in the core distribution, I'd do the same for the I don't use any of the built-in commands of Sopel, I basically treat it as a "transport layer" for my own commands + the ability to send a command to N bots in a move. As long as Sopel doesn't depend on X11 or Java, I just ignore this :-) but in an ideal world, I believe that it would be better if the IRC core functionality were decoupled from everything else. Some of the systems where I run Sopel are very resource-constrained IoT devices, so I have to watch out for bloat. |
For Sopel 7, I'm looking at pulling at least In your specific case, you might find elad's old comment from #1037 relevant. There are ways to install Python packages that don't enforce the dependencies, which you can use to avoid all the bloat of libenchant and/or IPython until Sopel itself makes those optional. If you're not using any of the core modules, you won't need their dependencies, so you can manually install only the stuff you absolutely need. (Don't quote me just yet, because I haven't been working on this project long enough to know for sure, but Sopel itself doesn't really need much at all outside the Python stdlib. Most/all of the deps in |
Either pip isn't smart enough to figure out which Python versions a package version is compatible with and pick one it can use, or IPython is packaged in such a way that it breaks pip's smarts. Whichever it is, Sopel will have to be the smart one and hold both their hands to avoid breaking things. Resolves sopel-irc#1308
The current version of Sopel depends on
ipython
in itsrequirements.txt
. This automatically pulls the latest greatest version of Ipython, which is 6.x. When installing that dependency, the following error occurs:Even if I install
ipython==5.0.0
before installing Sopel, it still downloads the latest version of IPython and attempts to install it.If Sopel doesn't depend on some unique features of IPython that are not present in 5.x, I believe this can be addressed by setting the dependency to
ipython>=5.0.0
, and instructing Python 2.7.x users to install this version of IPython manually before installing Sopel itself.The text was updated successfully, but these errors were encountered: