Thread: [Pydev-code] Python versions to support (was: Re: Java 7 and Apache Commons)
Brought to you by:
fabioz
From: Jonah G. <jo...@ki...> - 2013-08-24 10:34:34
|
Hi again! I now have a follow-up, but this time on versions of Python to support. In the work I am doing[1] updating the pydevconsole I was testing my changes against older versions of Python. IPython currently requires Python 2.6+ or 3.2+ and this will be the minimum versions required for the new features. During testing I tried using Python 2.1.3 (built from source on Ubuntu 12.04 64-bit) and the console does not work[2]. My question therefore is: What is the minimum required versions of Python (et al) that PyDev should support going forward? I suppose this may be a question for PyDev 3+ and that PyDev should continue to support the oldest possible version. Thanks Jonah [1] I am doing further work on GUI event loops and deeper integration of IPython [2] xmlrpc was not part of 2.1, so pydev uses the local version, but this is the error we get: Error stream: Traceback (most recent call last): File "/scratch/pydev/Pydev/plugins/org.python.pydev/pysrc/pydevconsole.py", line 21, in ? from pydev_imports import SimpleXMLRPCServer, Queue File "/scratch/pydev/Pydev/plugins/org.python.pydev/pysrc/pydev_imports.py", line 7, in ? import _pydev_xmlrpclib as xmlrpclib File "/scratch/pydev/Pydev/plugins/org.python.pydev/pysrc/_pydev_xmlrpclib.py", line 159, in ? _bool_is_builtin = False.__class__.__name__ == "bool" AttributeError: 'int' object has no attribute '__class__' On 23 August 2013 09:46, Jonah Graham <jo...@ki...> wrote: > Hi Fabio, > > I like your conclusion, especially regarding PyDev 3 vs 2 for the > breakage. > > As for apache commons code, for now that is fine. If I come up with a > specific and strong enough need I will re-raise it. I was aware that you > had spent considerable time writing good quality utility code and don't > want to get rid of any of that. (Perhaps, when you find that elusive free > time ;-), you can improve the apache commons join for everyone. > > (Out of curiosity, will there be a major feature set change to go along > with the version change?) > > Thanks, and looking forward to PyDev 3.0! > Jonah > > > On 22 August 2013 18:13, Fabio Zadrozny <fa...@es...> wrote: > >> Hi Jonah, >> >> Ok, the poll ( >> http://pydev.blogspot.com.br/2013/08/pydev-poll-about-minimum-javaeclipse.html) >> has been around for some time already, and it seems the major issue there >> would be support for older versions of Mac OS, where java can't be >> upgraded... >> >> Anyways, I think that given the feedback, going forward to support only >> Java 7 and Eclipse 3.7 onwards is what we should look at... >> >> Still, I think that this breakage should be pretty visible, so, I'd like >> to keep PyDev 2.x releases based on the current dependencies and go forward >> to breaking the dependency in PyDev 3. >> >> The idea would be stabilizing and doing one more release on PyDev 2, >> creating a branch to keep it going, doing one more bugfix-only release from >> that branch and then creating PyDev 3 where we can start targeting Eclipse >> 3.7 onwards and Java 7. >> >> Regarding the apache commons, I took a (rather quick) look at it and I >> don't think they replace all that's used in the PyDev StringUtils... and in >> some cases (i.e.: StringUtils.join), their implementation seems to be >> considerably slower than the current PyDev implementation which was pretty >> optimized, so, I'm a little wary about making that replacement... >> >> As for adding the apache commons, I'd like to know if you have specific >> things you'd like to use (if it's just one or 2 utility classes, I'm not >> sure it's worth the extra weight -- in that case, as their license allows, >> it may be worth just copying those classes). >> >> Cheers, >> >> Fabio >> >> On Wed, Aug 7, 2013 at 9:18 PM, Fabio Zadrozny <fa...@es...>wrote: >> >>> Hi Jonah, >>> >>> I'll do the following: I'll create a blog entry to ask people what they >>> think about... personally, I think going forward is nice, but I'd like to >>> check with the current user base if that's an issue... (at a time I know >>> Mac OS users had problems updating to more recent versions of Java, and >>> Eclipse 3.2 was the version used by Aptana Studio 2, but I don't think it >>> has to be supported anymore). >>> >>> So, I'll ask users to be able to give you feedback :) >>> >>> Cheers, >>> >>> Fabio >>> >>> >>> >>> >>> On Wed, Aug 7, 2013 at 11:48 AM, Jonah Graham <jo...@ki...>wrote: >>> >>>> Hello, >>>> >>>> I know that PyDev officially supports Eclipse 3.2+[1]/Java 6+ (or >>>> 5?)[2], however I would like to use some features of Java 7 (e.g. >>>> java.nio stuff). In addition I would love to be able to use various >>>> apache commons stuff (e.g. StringUtils[3]). >>>> >>>> What are the issues/(other?) with supporting older versions of >>>> Eclipse/Java/etc? >>>> >>>> Thoughts/comments? >>>> Thanks, >>>> Jonah >>>> >>>> [1] There is a little bit of code with correct try/catch in >>>> PydevPlugin for supporting Eclipse 4+ if it is available. >>>> [2] On http://pydev.org/download.html it states Jave 6+ (Java 7 >>>> recommended), but on http://pydev.org/developers.html for developers >>>> the request is still Java 5 API? >>>> [3] If PyDev did become dependent on apache commons, then I could go >>>> and remove the (then) redundant code in PyDev's StringUtils? >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Get 100% visibility into Java/.NET code with AppDynamics Lite! >>>> It's a free troubleshooting tool designed for production. >>>> Get down to code-level detail for bottlenecks, with <2% overhead. >>>> Download for free and get started troubleshooting in minutes. >>>> >>>> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk >>>> _______________________________________________ >>>> pydev-code mailing list >>>> pyd...@li... >>>> https://lists.sourceforge.net/lists/listinfo/pydev-code >>>> >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Introducing Performance Central, a new site from SourceForge and >> AppDynamics. Performance Central is your source for news, insights, >> analysis and resources for efficient Application Performance Management. >> Visit us today! >> >> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk >> >> _______________________________________________ >> pydev-code mailing list >> pyd...@li... >> https://lists.sourceforge.net/lists/listinfo/pydev-code >> >> > |
From: Fabio Z. <fa...@es...> - 2013-08-24 11:57:37
|
On Sat, Aug 24, 2013 at 7:33 AM, Jonah Graham <jo...@ki...>wrote: > Hi again! > Hi Jonah :) > I now have a follow-up, but this time on versions of Python to support. > > In the work I am doing[1] updating the pydevconsole I was testing my > changes against older versions of Python. IPython currently requires Python > 2.6+ or 3.2+ and this will be the minimum versions required for the new > features. During testing I tried using Python 2.1.3 (built from source on > Ubuntu 12.04 64-bit) and the console does not work[2]. > > My question therefore is: What is the minimum required versions of Python > (et al) that PyDev should support going forward? > > I suppose this may be a question for PyDev 3+ and that PyDev should > continue to support the oldest possible version. > I think that the core PyDev (i.e.: code analysis, code-completion, editor, etc) should support at least Jython 2.1+ and Python 2.4+. Now, if there are advanced features which require more current versions of Python to work, I don't think this is a big issue. So, related to the shell, I think the basic features should work with those same versions, but if there are advanced features that require 2.6+ (such as an advanced IPython integration) I think this is Ok. Now, related to the features you're adding, I think it's Ok to require IPython, but if it's not available on the system, the shell should still work for users that don't want to install IPython (i.e.: the current Qt/wx integration should probably be kept working without needing IPython). Cheers, Fabio p.s.: Related to the PyDev 3 feature-set, I think the main thing at this point will be the way that PyDev deals with the configured interpreter (which is the most voted feature at this point: https://sw-brainwy.rhcloud.com/tracker/PyDev/80) and probably virtualenv support, but PyDev development is very incremental, so, even things still added on PyDev 2.x (such as the recent code-completion based on types) could probably be enough for raising the version. > Thanks > Jonah > > [1] I am doing further work on GUI event loops and deeper integration of > IPython > [2] xmlrpc was not part of 2.1, so pydev uses the local version, but this > is the error we get: > Error stream: Traceback (most recent call last): > File > "/scratch/pydev/Pydev/plugins/org.python.pydev/pysrc/pydevconsole.py", line > 21, in ? > from pydev_imports import SimpleXMLRPCServer, Queue > File > "/scratch/pydev/Pydev/plugins/org.python.pydev/pysrc/pydev_imports.py", > line 7, in ? > import _pydev_xmlrpclib as xmlrpclib > File > "/scratch/pydev/Pydev/plugins/org.python.pydev/pysrc/_pydev_xmlrpclib.py", > line 159, in ? > _bool_is_builtin = False.__class__.__name__ == "bool" > AttributeError: 'int' object has no attribute '__class__' > > > On 23 August 2013 09:46, Jonah Graham <jo...@ki...> wrote: > >> Hi Fabio, >> >> I like your conclusion, especially regarding PyDev 3 vs 2 for the >> breakage. >> >> As for apache commons code, for now that is fine. If I come up with a >> specific and strong enough need I will re-raise it. I was aware that you >> had spent considerable time writing good quality utility code and don't >> want to get rid of any of that. (Perhaps, when you find that elusive free >> time ;-), you can improve the apache commons join for everyone. >> >> (Out of curiosity, will there be a major feature set change to go along >> with the version change?) >> >> Thanks, and looking forward to PyDev 3.0! >> Jonah >> >> >> On 22 August 2013 18:13, Fabio Zadrozny <fa...@es...> wrote: >> >>> Hi Jonah, >>> >>> Ok, the poll ( >>> http://pydev.blogspot.com.br/2013/08/pydev-poll-about-minimum-javaeclipse.html) >>> has been around for some time already, and it seems the major issue there >>> would be support for older versions of Mac OS, where java can't be >>> upgraded... >>> >>> Anyways, I think that given the feedback, going forward to support only >>> Java 7 and Eclipse 3.7 onwards is what we should look at... >>> >>> Still, I think that this breakage should be pretty visible, so, I'd like >>> to keep PyDev 2.x releases based on the current dependencies and go forward >>> to breaking the dependency in PyDev 3. >>> >>> The idea would be stabilizing and doing one more release on PyDev 2, >>> creating a branch to keep it going, doing one more bugfix-only release from >>> that branch and then creating PyDev 3 where we can start targeting Eclipse >>> 3.7 onwards and Java 7. >>> >>> Regarding the apache commons, I took a (rather quick) look at it and I >>> don't think they replace all that's used in the PyDev StringUtils... and in >>> some cases (i.e.: StringUtils.join), their implementation seems to be >>> considerably slower than the current PyDev implementation which was pretty >>> optimized, so, I'm a little wary about making that replacement... >>> >>> As for adding the apache commons, I'd like to know if you have specific >>> things you'd like to use (if it's just one or 2 utility classes, I'm not >>> sure it's worth the extra weight -- in that case, as their license allows, >>> it may be worth just copying those classes). >>> >>> Cheers, >>> >>> Fabio >>> >>> On Wed, Aug 7, 2013 at 9:18 PM, Fabio Zadrozny <fa...@es...>wrote: >>> >>>> Hi Jonah, >>>> >>>> I'll do the following: I'll create a blog entry to ask people what they >>>> think about... personally, I think going forward is nice, but I'd like to >>>> check with the current user base if that's an issue... (at a time I know >>>> Mac OS users had problems updating to more recent versions of Java, and >>>> Eclipse 3.2 was the version used by Aptana Studio 2, but I don't think it >>>> has to be supported anymore). >>>> >>>> So, I'll ask users to be able to give you feedback :) >>>> >>>> Cheers, >>>> >>>> Fabio >>>> >>>> >>>> >>>> >>>> On Wed, Aug 7, 2013 at 11:48 AM, Jonah Graham <jo...@ki...>wrote: >>>> >>>>> Hello, >>>>> >>>>> I know that PyDev officially supports Eclipse 3.2+[1]/Java 6+ (or >>>>> 5?)[2], however I would like to use some features of Java 7 (e.g. >>>>> java.nio stuff). In addition I would love to be able to use various >>>>> apache commons stuff (e.g. StringUtils[3]). >>>>> >>>>> What are the issues/(other?) with supporting older versions of >>>>> Eclipse/Java/etc? >>>>> >>>>> Thoughts/comments? >>>>> Thanks, >>>>> Jonah >>>>> >>>>> [1] There is a little bit of code with correct try/catch in >>>>> PydevPlugin for supporting Eclipse 4+ if it is available. >>>>> [2] On http://pydev.org/download.html it states Jave 6+ (Java 7 >>>>> recommended), but on http://pydev.org/developers.html for developers >>>>> the request is still Java 5 API? >>>>> [3] If PyDev did become dependent on apache commons, then I could go >>>>> and remove the (then) redundant code in PyDev's StringUtils? >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Get 100% visibility into Java/.NET code with AppDynamics Lite! >>>>> It's a free troubleshooting tool designed for production. >>>>> Get down to code-level detail for bottlenecks, with <2% overhead. >>>>> Download for free and get started troubleshooting in minutes. >>>>> >>>>> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk >>>>> _______________________________________________ >>>>> pydev-code mailing list >>>>> pyd...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/pydev-code >>>>> >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Introducing Performance Central, a new site from SourceForge and >>> AppDynamics. Performance Central is your source for news, insights, >>> analysis and resources for efficient Application Performance Management. >>> Visit us today! >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk >>> >>> _______________________________________________ >>> pydev-code mailing list >>> pyd...@li... >>> https://lists.sourceforge.net/lists/listinfo/pydev-code >>> >>> >> > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > _______________________________________________ > pydev-code mailing list > pyd...@li... > https://lists.sourceforge.net/lists/listinfo/pydev-code > > |
From: Jonah G. <jo...@ki...> - 2013-08-24 12:05:46
|
On 24 August 2013 12:57, Fabio Zadrozny <fa...@es...> wrote: > Now, related to the features you're adding, I think it's Ok to require IPython, but if it's not available on the system, the shell should still work for users that don't want to install IPython (i.e.: the current Qt/wx integration should probably be kept working without needing IPython). For the new GUI features I am adding I am not requiring IPython. The GUI loop integration has no dependencies, other than being Python 2.6+ (and whichever GUI toolkit you want to use). The code to enable this is derived from IPython, but does not import IPython. Obviously my other work that improves on IPython integration does require IPython. One of the places these cross paths is that the %gui magic in IPython will actually use the new code that I am writing now. Other than trying to test as many options as I can, I am nearly complete this so the pull request is imminent. I don't have access to Mac OSX, so hopefully someone else can give that a try for me once I put in the pull request. Thanks, Jonah |
From: Derrick H. <ds...@dm...> - 2013-08-24 14:19:50
Attachments:
signature.asc
|
On Sat, Aug 24, 2013 at 11:33:29AM +0100, Jonah Graham wrote: [...] | [2] xmlrpc was not part of 2.1, so pydev uses the local version, but this | is the error we get: [...] | � File | "/scratch/pydev/Pydev/plugins/org.python.pydev/pysrc/_pydev_xmlrpclib.py", | line 159, in ? | � � _bool_is_builtin = False.__class__.__name__ == "bool" | AttributeError: 'int' object has no attribute '__class__' For reference, types and classes were unified in Python 2.2. (int was not a class in 2.1) 2.2 was released in 2001. http://www.python.org/download/releases/2.2.3/descrintro/ http://www.python.org/doc/versions/ -Derrick |