Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Looking to dabble with GAE and python, and I'd like to know what are some of the best tools for this - thanks!
I would spend the time and learn something like emacs. The learning curve is a bit higher, but once you get used to it, you can develop from any terminal. It has fantastic support for python and many other libraries.
You have to remember that Python is a dynamically typed language so the traditional IDE is not really the answer since those are mostly designed for statically typed languages. Basically you want something that has syntax highlighting, compilation and maybe some shortcuts and macros to make life easier for you... emacs has all of this :)
I would Google "Emacs Python" to get started.
If you really don't want to use emacs, I would look at PyDev. It's an extension to the eclipse IDE that let's you write python code. Some of my friends that do Django work have had good luck with that one.
Hope this helps.
Good luck with GAE.
Netbeans has some very nice tools for Python development
I use pydev on eclipse, and works well for django too!
VIM(there's enough plug-ins to make it IDE -like)
Komodo IDE($$)
Eclipse w/Pydev
Net Beans with Python support
WingIDE($$)
SPE(Stani's Python Editor)
Open Komodo
I've been using gedit and am pretty happy with it, there is a couple of good plugins that make life easier (e.g. Class Browser). I tried eclipse but its just not the same experience you get with Java.
For my recent GAE project I tried both eclipse with pydev and intellij with its python plugin. I use intellij for my "real" work and so I found it to be the most natural and easy to use, personally. It is not open source, but if you already have a license it is no extra cost.
I found the eclipse plugin to be very good as well. You don't get as much intellisense as you would with java, but I was very impressed with what you do get from a dynamically typed language.
If your on the Mac I would highly recommend TextMate. The IDE is great for coding on projects like Python, PHP, Ruby on Rails, HTML, etc.
The price is $52 US and there is a 30 trial version that you can get to try it out for yourself. Highly recommended my most Mac Developers.
Also if you watched the demo's at Google Campfire you'll notice they are using TextMate!
im using ulipad is fast and simple download here
You can try appengine-emacs-toolkit. http://code.google.com/p/appengine-emacs-toolkit/
This toolkit contains two emacs major mode which help to develop GoogleAppEngine and SinaAppEngine with python.
It provides support for create new project, launch local server, open browser to view project, upload project.
This toolkit tested on WindowsXP/7, Ubuntu with GoogleAppEngine-1.6.1, saepythondevguide.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am quite comfortable with C/C++ but I felt that another language would surely help me. So, I decided that Python would be good language to start as I have heard many people talking about Python. I have the following questions :
Where do I start for Python ?
Do I have a compiler like Visual Studio for Python ? I use VS2010 for C/C++
Thanks in Advance.
Like most languages, reading a book might help
lpthw
is the suggested book for learning python. It will guide you through setup and more :)
Dive into python is a great one, will get you upto speed if you are already familiar to programming, which you are. Learn by building small and useful projects in each chapter.
Python website provides the python interpreter. which can be used. Python is not compiled like c/c++ but interpreted.
I'd suggest Head First Python. Even it seems a little childish when you start reading, it turns out to be very, very well suited to learn not only the basic concepts but to get an idea what the language is capable of and is used for (google app engine, python on android,...).
I think there are lots of python information throug internet, if you are a C++ programmer and already have programming knowlege you can just search for info there. Although you can just install the interpreter and start playing arround, by my experience its a fairly simple way of learning (interpreter + documentation)
Some interesting webpages:
http://www.python.org/
http://docs.python.org/py3k/tutorial/index.html
Some IDEs as visual studio but for python:
http://wingware.com/
http://www.eclipse.org/
A while ago, I wrote a blog post addressing the first part of your question:
http://codelike.com/blog/2011/07/07/a-jump-start-for-learning-python/
As for the second part: No, you don't need a compiler. Code is interpreted on the fly, which means you can type code in the Python shell (that comes with a Python installation) and instantly see what it does. That's a great way for exploring some language features. If you install iPython on top of Python, you even get auto-completion inside that shell.
It depends on what way of learning you prefer. I would recommend to read theory, play a little and write something useful using python.
Below are several points where to start at your choice.
Theory:
Official tutorial
Dive into Python book (for python 2)
Dive into Python 3
Learn Python The Hard Way by Zen A. Shaw
Learning Python: Powerful Object-Oriented Programming by Mark Lutz
Programming Python by Mark Lutz
Think Python by Allen B. Downey
Courses and video:
Google's Python Class
Python track at Codeacademy
Coursera's Introduction to Interactive Programming in Python
Playgrounds:
checkio.org - platform for competing in python programming, lots of tasks from easy to hard ones
pythonchallenge.com
I would recommend to read official tutorial and start playing with online tutorials that will guide you from simple "hello world" programs to more complex one, if you were newbie in programming. Then read Dive Into Python and go deeper.
In regards of IDEs there are several options, and you can try them to find what fits best for your goals.
IDE's: PyCharm, Eclipse + PyDev, Wing IDE.
Just Editor: vim or sublime or notepad++, I have used all of them and stopped on sublime.
Interactive interpreter: ipython - there are options to run it as a console or like a notebook on localserver. This is awesome tool and truly interactive programming experience. Watch some tutorials first. There are several very powerful things like matplotlib, numpy, scipy supported that makes this tool very efficient.
Also you have to take a look at virtualenv and virtualenvwrapper to configure your virtual environments.
I really enjoyed learning python from the python essential reference
As for the compiler part: Visual Studio is not a compiler. It's an IDE that uses the MSVC compiler. Python on the other hand is a interpreted dynamic language (well... it's not actually interpreted, as the interpreter compiles a module into bytecode when it imports it for the first time, so it's a bit of both, but these are technicalities that you need not worry about when you start learning the language)
For python you need:
the python iterpreter: http://www.python.org/getit/
an editor of your choice. I personally enjoy emacs, but if you're into the IDEs, then you could use PyDev or komodo or many many others.
To answer your second question, Python is an interpreted language so you don't need a compiler. So long as you have Python installed, just run the script.
You can use whatever IDE you prefer to write the code.
As swair said Dive into python is a great resource for experienced programmers in other languages.. If you want to stay in Windows Visual Studio environment you can give a chance to Iron Python http://ironpython.net/tools/ It is built in Visual Studio 2010.
But for a fresh start i recommend Python shell, iPython or PyCrust. PyCrust is my favorite.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am a beginner programmer and have learned most of what I know thus far from using delphi for the past couple of months. A month or so back I decided to give python a try as I was told it may be easier to learn and I really like the language. I guess I just seem to pick things up easier using it.
The only problem is that I can't seem to find a good IDE for it that works in the way that Delphi does. I want to create desktop apps with nice GUIs so it would be nice to have something similar to Delphi/Visual studio to work with.
I have searched around and could find anything. Was wondering if anyone could lend a hand.
Also, from what I have gathered Ironpython seems to be the same as python coding wise. I don't mind my apps only being able to work on windows. Is Python Tools a good option. I mean is it basically like using visual studio but with python code instead?
Any help is much appreciated.
Thanks.
Boa Constructor is a classic RAD IDE for GUI applications (wxpython, both linux and windows). People is still using it but seems that development stopped some years ago. PythonCard is another RAD IDE I used in the past but also unmaintained right now
Although they are not IDEs, some tools are very helpful for GUI design like:
- wxglade (wxpython, included as a pluging in Stani Python Editor, only python2.x)
- qtdesigner (qt-pyqt or pyside, included in pyqt. Spyder IDE, build on pyqt, has a dedicated link to it. Works also for python 3.x)
I use PyGTK to interact with GTK.
http://www.pygtk.org/docs/pygtk/gtk-class-reference.html
http://www.pygtk.org/pygtk2tutorial/
But there is also QT, and WXpython, that are worthy.
http://thekompany.com/products/blackadder/
I always liked BoaConstructor which is a wxPython GUI Builder.
Doesn't seems to be actively maintained any longer though...
wxpython is very active though...
Python Tools is basically just like using VS but with Python. It's got intellisense, debugging, profiling, etc... When working w/ IronPython the .NET debugger is a little rough (you'll see internal implementation details) but you can still use the pure Python debugger which gives you a Pythonic view.
The intellisense engine is aware of the GUI designer so you'll get completions against the controls defined in XAML. And you'll get auto-definition of handler methods when you do things like double click on buttons in the GUI designer or select to define an event handler in the properties pane. Probably the biggest missing thing is that there's no support for user controls and there's also no designer support for WinForms.
I know this is probably a question that is asked a ton on here but I haven't been able to find exactly what I'm looking for. I'm a JAVA developer that is learning Python and Django and I'm looking for a good development environment. I would like to be able to edit python code, css, html and javascript all in the same editor if possible. I have been trying out both Komodo and pydev. I like Komodo so far. Being a JAVA developer I am very comfortable in Eclipse but it just doesn't feel like it might be the right environment to be doing Python development in. I was wondering if anyone had good recommendations. I also have heard about CODA, TextMate and SubEthaEdit. I should mention that I'm doing my development work on Mac. I know these things are really opinionated but didn't know if there was some kind of "industry" standard for Python/Django development on the Mac.
I have done the normal searches on stackoverflow and looked through this post as well What IDE to use for Python?. I just haven't found an answer that seemed to fit my situation......
If your familiar with eclipse, by all means try Pydev first. I was the opposite, I was/am a Python developer who switched to Java. There was no real difference between using Eclipse for Java and Eclipse for Python (Pydev), you still get inline docs, debugging, code completion, the whole bit. You also get a lot of great stuff along with it like subversive, mylyn, aptana, etc.
As you're familiar with Eclipse, Pydev is a good choice.
Komodo is the only IDE/Editor I know which supports Django Template Language syntax highlighting. But it's really so rudimentary that I think you can live without it.
A lot of Mac developers use TextMate because it has a lot of creature features.
If you're working with big files and need speed, look at BBEdit - it's amazing how fast it can find/replace stuff.
If you want an editor that is close to Eclipse, but not a full-blown Java-based/oriented IDE, Komodo Edit (open source) or IDE (commercial) is pretty good, though I can usually get it to crash within an hour. I think it doesn't like me.
My primary editor is vim or gvim, depending on what hosting system I am on. It handles every language, runs on Mac, Linux and Windows, and is very customizable and, when you're used to it, can be very fast. I spend 99% of my editing time in gvim and it's the first or second thing I install on a machine, along with my customized setup and favorite fonts and plugins.
I'm on OSX and I've recently tried out http://www.jetbrains.com/pycharm/ and it looks pretty good, but I can't quite get comfy with it -- but if you're familiar with Eclipse, then you might like it.
Personally, I find that I'm plenty productive with TextMate and a few of the Textmate Python/Django bundles
I think you should give Geany a try. Its very easy to use and is definitely one of my most favorite IDE's I have ever used.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm looking to set up my development environment at home for writing Windows applications in Python.
For my first piece, I'm writing a simple, forms-based application that stores data input as XML (and can read that information back.) I do want to set up the tools I'd use professionally, though, having already done a round of didactic programming.
What tools are professional python developers using these days? In order to have a working python environment, what version of the compiler should I be using? What editor is common for professionals? What libraries are considered a must-have for every serious python developer?
Specifically, which Windowing and XML libraries are de rigeur for working in Windows?
I like Eclipse + PyDev (with extensions).
It is available on Windows, and it works very well well. However, there are many other IDEs, with strengths and weakness.
As for the interpreter (Python is interpreted, not compiled!), you have three main choices: CPython, IronPython and Jython.
When people say "Python" they usually refer to "CPython" that is the reference implementation, but the other two (based, respectively, on .Net and Java) are full pythons as well :-)
In your case, I would maybe go on IronPython, because it will allow you to leverage your knowledge of .Net to build the GUI and treating the XML, while leaving the implementation of business logic to Python.
Finally, should you decide to use CPython, finally, there are several choices for working with xml:
minidom; included in the standard library
lxml, faster and with a better API; it means an additional installation on top of Python.
Lots of questions, most hard to answer correctly. First of all, most of python development happens on unix-like platforms. You will hit many walls during development on Windows box.
Python is not a compiled lanugage, current preferred version for production is 2.5. For environement setup you should take a look at virtualenv. Editor is a personal choice, many Python developers use Vim, you can customize it pretty well to suite your needs.
About libraries, Python is very strong around this area and it's really hard to say what is a must to know. If you want to handle XML, I would preffer lxml.
If you go for CPython, make sure you get the win32 extensions by Mark Hammond, either as a separate download which you install on top of the vanilla Python installation, or as part of ActiveState's ActivePython. It includes an integrated editor and debugger.
Jython has recently reached 2.5 compliancy, but we quickly ran into recursion limit issues.
The standard distribution includes IDLE, a graphical editor and debugger.
I like shells, so I'm using IPython for interactive work, and pydb as debugger (unfortunately, I had problems getting pydb to work under Windows).
"What tools are professional python developers using these days?"
Lots
"In order to have a working python environment, what version of the compiler should I be using?"
["compiler" is meaningless. I'll assume you mean "Python"]
We use 2.5.4. We'll be upgrading to 2.6 as soon as we've done the testing.
"What editor is common for professionals?"
We use Komodo Edit.
"What libraries are considered a must-have for every serious python developer?"
We use Django, XLRD, PIL, and a few others. We don't plan this kind of thing in advance. As our requirements arrive, we start looking for libraries. We don't "pre-load" a bunch of "must-have" libraries. The very idea is silly. We load what we need to solve the problems we have.
There are no set standards in these matters, and for good reasons:
there is a fair amount of good choice
different people are productive with different tools
different tools and libraries are suited for solving different problems
That said, I think it's a valid question exactly because there is a fair amount of good choice. When there is too much choice people often do not chose at all and move on. You still need to do your own research to decide what is best for you but you may find here some good starting points.
Here is what I use professionally on windows:
python 2.5.4
latest wxPython
XRC Resource Editor from the wxPython docs & demos for the grunt of the tedious GUI design
lxml or gnosis utils for xml
WingIDE Professional
Taking the headline question literally, the answer has to be IronPython. The 2.0 releases are equivalent to CPython 2.5, and the 2.6 release (currently at beta2) is intended to match CPython 2.6 (full 2.6 release some time in the next couple of months). With either you can use the state of the art in Windows GUI frameworks, i.e. WPF; and you get the whole .net XML support libraries (excepting Linq to XML, which relies on clever bits of C# that IronPython cannot yet emulate).
I've used NetBeans Python plug-in happily as an IDE for IronPython using WPF.
The answer would depend on what you want to do with Python. If you want to do web programming, Python is blessed with many web frameworks. The most popular ones are: Django, Pylons, and Turbogears. There's also Google App Engine, where you can deploy your Python webapp (based on GAE framework) to Google's infrastructure. If you want to do Desktop programming then there is PyQT and TkInter, or you can even try using Java Swing with Jython. And if you want to do Mobile app programming then there is Python for S60 which is backed by Nokia.
Python is interpreted language, so there is no compiler (although the interpreter also compiles your python module into bytecode). I would recommend using Python 2.6 as it has some syntax and libraries that is different compared to 2.5. You can also start learning Python 3.0 too.
There is several IDE that is good for Python. You don't have to get yourself attached into one editor/IDE because most of them are good ones. For the commercial ones there is WingIDE which is really focus on making IDE for Python and I would really recommend IntelliJ IDEA with Python plugin which is really nice if you often look at the libraries in your Python environment. For the free ones (as others have said) there is Komodo Edit or you can also try Netbeans with Python plugin.
As for the must-have libraries, this is depending on what you want to do. What kind of application you want to develop with Python. But I think every Python developer should consider PIL for imaging library. I also use simplejson quite often, because I prefer using JSON rather than XML. If you are using XML though, you can use lxml as it is really fast in parsing XML.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have been reading through this wonderful website regarding the recommended Python IDEs and have narrowed it down to either
WingIDE
KomodoIDE
which you guys will recommend for the purpose of developing Pylons apps? I know that most questions have been asked pertaining to Python IDEs but how about Python web framework IDEs which is a mishmash of various templating languages and Python itself.
One con i have to raise about WingIDE on Windows is that it has an AWFUL interface (probably cos of the GTK+ toolkit?)
I have been using e-text editor all the while and increasingly been dissatisfied with it especially when its unable to do correct syntax highlighting at times. Furthermore I am hoping syntax coloration can be done for Mako templates.
Thank you very much all and have a great day!
Did you try Eclipse with PyDev plugin? Which is FREE plus works for any OS.
Screenshots at the PyDev website.
(source: sourceforge.net)
+1 for WingIDE, It supports debugging pylons app.
Netbeans has implemented beta support of python development. It unfortunately doesn't specifically support any templating languages that I know of, but I've been satisfied so far with its syntax highlighting and auto-complete (especially from imported modules).
Since everyone has a different preference for their coding environment, I suggest you just try out every IDE/editor you can get your hands on; so you can find the best mix-match of features that you're specifically looking for.
I use Stani's Python Editor for most Python-esque editing tasks on Windows & Linux. I use Notepad++ for editing HTML, XML, CSV, and other text based "code like" files on Windows. They are both free, and meet my needs for home based weekend projects.
I have used Wing IDE 101, but I never the full versions. I did not do enough with WingIDE to develop any muscle memory, so it still feels a little artificial to me. YMMV.
To a certain degree, the IDE will influence how you think about the process of creating and debugging code. So you should take some time to try a few different options and see which makes the most sense to you.
Try Aptana Studio... It's eclipse+pydev+web stuff, it doesnt have any specific pylons stuff or mako support. But eclipse+pydev alone is great + all the nice jscript+html+css stuff aptana adds.
+1 for Spyder. Never heard of it before reading this page. Working great so far.
after very very careful comparison, KomodoIDE 5.1 is most suitable for my purposes.
Reasons:
Extensibility
Support for Mako and YUI (required by me)
Native interface support (no GTK unfamiliarity)
Support for Mercurial SCM (required by me)
thats all I guess. I am extremely satisfied with KomodoIDE and have just shelled out some money to buy it.
I figured when making a choice of tools, spend a day or two (yes, it takes time) trying them out and choosing what best suits your day-to-day purposes. If its just your first time coding, using a standard free tool or open source tool is far more useful than expending the time to find out the best tool.
Only after some degree of expertise is acquired, you have a very narrow spectrum of requirements/preferences which will make choosing a tool far easier.
Wow, I've also been looking for a good Pylons web app IDE. Seems like KomodoIDE 5.1 kicks some serious ass. I love the support for Mako and that it supports pretty much all of the SCMs.
I've been using Textmate, but KomodoIDE will take over from now onwards
I'v been using Spyderlib for some time, its really worth trying.
http://code.google.com/p/spyderlib/
http://groups.google.com/group/pylons-discuss/browse_thread/thread/4f41aef28be741e5