top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Python development tools

–1 vote
173 views

I am new to python development and I want to know what kinds of tools people use for python development. I went to Python website and found several tools.

  1. Automated Refactoring Tools
  2. Bug Tracking
  3. Configuration And BuildTools
  4. Distribution Utilities
  5. Documentation Tools
  6. Integrated Development Environments
  7. Python Debuggers
  8. Python Editors
  9. Python Shells
  10. Test Software
  11. Useful Modules
  12. Version Control

What else do I need? Also, which software is used in daily base? I know version control software and bug tracking software are used almost everyday by developers. Which software is used less often?

Also, I will use GUI interface for Python. What kind of widget toolkits do you recommend? I know there are GTK+ and Qt.

posted Jun 23, 2013 by anonymous

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+1 vote
 
Best answer

The Python wiki at http://wiki.python.org/moin/ has a lot of info on most of your subjects. I've included links to there for some of your items below.

All your items below also have commercial products available but I an not familiar with any so all me comments below pertain only to free tools.

  1. Automated Refactoring Tools
    I wish.
  2. Bug Tracking
    This is not really Python specific so any bug tracking tool you want to use will work. There are several written in Python. The Python (cpython) project uses one called Roundup.
  3. Configuration And BuildTools
  4. Distribution Utilities
    http://wiki.python.org/moin/DistributionUtilities
  5. Documentation Tools
    The most popular documentation tools for Python projects is Spinx, probably because the Python documentation itself is build with Spinx. see also http://wiki.python.org/moin/DocumentationTools
  6. Integrated Development Environments
    http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
  7. Python Debuggers
    Python comes with a builtin debugger called pdb. There are also a number of other add-on debuggers like pydb. See also: http://wiki.python.org/moin/PythonDebuggingTools
  8. Python Editors
    Any editor for programming is fine. This is mostly personal taste and experience. It is a frequent topic of discussion here so a web search should turn up some info.
  9. Python Shells
  10. Test Software
    Python comes with modules that will assist you in writing your own tests, most notable unittest and doctest. There are a number of third party modules too: See http://wiki.python.org/moin/UnitTests
  11. Useful Modules
    The main repository for public Python modules is PyPi: See https://pypi.python.org/pypi
  12. Version Control
    Git and Mercurial (hg) seem to be the two most popular "modern" VCS used by Python developers with Bazaar (bzr) right behind them. There was a discussion here very recently on that subject, see https://groups.google.com/d/topic/comp.lang.python/MD4Oqq9GJiQ/discussion

This really depends on what kind of development you will be doing and who else you will be doing it with. A minimal development environment is a shell, python interpreter, and an internet connection.

Python comes with a GUI toolkit called tkinter. The other major GUI toolkit is wxPython although it is not yet
available for Python3. See also http://wiki.python.org/moin/GuiProgramming

answer Jun 23, 2013 by anonymous
Similar Questions
0 votes

I am currently doing some research on testing software for Python. I found that there are many different types of testing tools. These are what I've found.

1.Unit test
2.Mock test
3.Fuzz test
4.Web test
5.Acceptance/business logic test
6.GUI test
7.Source code checking
8.Code coverage
9.Continuous integration
10.Automatic test runners
11.Test fixtures

I know web and GUI testing tools are for specific uses. For instance, if you are not working with GUI or web pages, you don't need those testing tools. Other than these two, do you use all of the other nine testing tools? I think many of you are using unit testing tools, such as unittest and doctest, and source code checking tools, like pylint or pychecker. Want to know the opinion of the people on above test tools.

+1 vote

I've been developing with python for a while on Ubuntu but will soon be transitioning to full-time python development. I have the option of using a Mac or Ubuntu environment and I'd like to hear any thoughts on the pros and cons of each. Specifically, how's the support for numpy and scipy? How are the IDEs?

Since I generally like working with a Mac, I'd like to hear if there are any significant downsides to python dev on OsX.

+4 votes

I have been trying to set up a python, django, mysql, virtualenvwrapper and git development project and am really confused. All of the documentation seems to ignore the apt-get installation methods used by Debian Linux and its derivatives. Does pip install the same as apt-get; I don't think so. If I use virtualenvwrapper, how does this fit with the normal debian (wheezy) installation. I also need git which just confuses the situation even more. Must I give up the automatic updating system that Debian provides when setting up the development environment?

The documentation centers on Windows, Mac and generic Linux distributions and ignores the automation of the Debian installation. All of the documentation I have found concentrates on the installation of individual packages or on the use of python-django and is very sketchy on the overall virtualenv(wrapper), git, python-django file structure and installation order.

0 votes

I want to use python for creating dynamic database driven websites. and I don't want to use existing web frameworks for my work. I am learning things so I wont feel lazy to write all the code myself because I want to learn.

could anyone suggest me any books/site from where I can start. I want to follow MVC architecture. so please suggest me some links/book or anything

+1 vote

I am unhappy with the general Python documentation and tutorials. I have worked with Python very little and I'm well aware of the fact that it is a lower-level language that integrates with the shell.

I came from a VB legacy background and I've already "un-learned" everything that I need to (I know, that language stinks, and isn't OOP or even useful!).

I have to get back into writing Python but I'm lacking one thing ... a general understanding of how to write applications that can be deployed (either in .exe format or in other formats).

So my issue is basically to understand how to go about writing programs and compiling them so they can be deployed to less tech-savvy people. Here's what I think I have to do, in a general sense:

=> Pick a GUI and just run through the tutorials to learn the interfaces as fast as possible.

This is all fine and dandy, but more than likely when I do this the people that I am sending solutions to will, if not receiving a simple .exe file, receive the package from me and say to themselves "what in the world do I do with this!?"

Is there someone who can suggest that I fix this or help them deal with complex languages like Python and programs written with it?

...