5 ms·
Heh, The overall sentiment in irc freenode #python is a general dislike of ipython and a recommendation of bypthon as a good alternative to the REPL. It's a pre
by joshbaptiste 14y ago
Heh, The overall sentiment in irc freenode #python is a general dislike of ipython and a recommendation of bypthon as a good alternative to the REPL. It's a pretty light alternative but I still generally use ipython these days.
- vasco 14y agoWhen I saw ipython for the first time I was really excited but now I realize I never actually use it. Any thoughts about why it isn't appreciated?
- DasIch 14y agoipython provides more features but requires significantly more magic to do so which can have unintended side-effects e.g. by triggering stuff through introspection that the user didn't intend to trigger.
- beagle3 14y agoCheck it again. It recently added a "Notebook" mode that you might find useful.
- dbecker 14y agoI think ipython is widely appreciated in the scientific/numeric python community.
- kenko 14y agoThis seems right to me. ipython also has some features that go way beyond enhancements to the REPL.
- sophacles 14y agoI think it is appreciated in some circles, particularly people who do programming as a means to something else (eg science research stuff). In my experience looking and playing with it tho (including diving in a bit), it just seems like a lot of complicated code for fancy repl work. Too much tight integration with their way of doing it. Personally, I was extremely interested in making ipython tie in deep with vim, but even the api provided was too complicated for the functionality it provided, given I was using outside the expected ways.
- takluyver 14y agoIPython has seen quite a large refactoring in the last couple of years, and now there is a popular vim-ipython integration: https://github.com/ivanov/vim-ipython https://github.com/ivanov/vim-ipython
- sophacles 14y agoThanks for mentioning this! I read this bit on the project page: The big change from previous versions of ipy.vim is that it no longer requires the old brittle ipy_vimserver.py instantiation, and since it uses just vim and python, it is platform independent (i.e. works even on windows, unlike the previous nix only solution). The requirements are IPython 0.11+ with zeromq capabilities, vim compiled with +python. And had a moment of panic. As the guy who wrote ipy_vimserver.py (the playing mentioned in my previous post) I am both glad that this awesome project ivanov wrote evolved from it, and horrified that people were using it :). (particularly after searching for ipy_vimserver on google, and finding a lot of issues people were having...) Cheers.
- masklinn 14y agoipython is very, very appreciated in scientific python communities. It might be less so on the "engineering" side due to being perceived as more heavyweight?
- taejo 14y agoI for one found it very difficult to get into the habit of typing "ipython" instead of "python", which seems silly but really did stop me using it.
- lucian1900 14y agoYou could write a script called 'python' that runs bpython if passed no parameters and python otherwise.
- bobfarrell 14y agoActually you don't even have to do that - just alias "python" for "bpython" and bpython automagically instantiates the actual python if it is passed arguments, i.e. "bpython foo.py" is essentially the same as "python foo.py" - this feature was implemented for this reason, so you could just make an alias.
- bowyakka 14y agoI have never really got this, I think ipython is the best thing since sliced bread. (Not that I dislike bpython, just never had the desire to use it)
- bobfarrell 14y agoThe main reason for this is actually that IPython has had (and, by design, in some cases still does have) the "problem" that code that works in IPython can work differently to the standard Python interpreter. This meant that people quite often had problems where the solution was "run it in the actual python interpreter". When I first started writing bpython one of the design goals was that all code that runs in bpython would also run the same in the vanilla REPL. This is why there is no extended syntax such as that provided by IPython (I don't actually use it so can't give good examples, but I think you can do things like "object?" to get help etc.). IPython also had some issues with unicode and encodings that may have since been resolved. This is the only good reason I would recommend bpython over IPython objectively. Other than that, it's just a matter of taste - bpython is just a standard shell with some nice features to aid the user whereas IPython has a whole host of features and extensions and integrations that make it a great tool for lots of people. I don't think you have to use one or the other and I don't see them as competing pieces of software. IPython is a great tool and seems to suit a lot of people, particularly those in the mathematic and scientific communities. Let me put it this way: if IPython implemented all of the features that bpython has and bpython became entirely redundant then I would only be happy that people have a great tool to help them with their development and that bpython may have played a part in helping it get to that state.