Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6640241
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T23:38:58+00:00 2026-05-25T23:38:58+00:00

As a long time Python programmer, I wonder, if a central aspect of Python

  • 0

As a long time Python programmer, I wonder, if a central aspect of Python culture eluded me a long time: What do we do instead of Makefiles?

Most ruby-projects I’ve seen (not just rails) use Rake, shortly after node.js became popular, there was cake. In many other (compiled and non-compiled) languages there are classic Make files.

But in Python, no one seems to need such infrastructure. I randomly picked Python projects on GitHub, and they had no automation, besides the installation, provided by setup.py.

What’s the reason behind this?

Is there nothing to automate? Do most programmers prefer to run style checks, tests, etc. manually?

Some examples:

  • dependencies sets up a virtualenv and installs the dependencies
  • check calls the pep8 and pylint commandlinetools.
  • the test task depends on dependencies enables the virtualenv, starts selenium-server for the integration tests, and calls nosetest
  • the coffeescript task compiles all coffeescripts to minified javascript
  • the runserver task depends on dependencies and coffeescript
  • the deploy task depends on check and test and deploys the project.
  • the docs task calls sphinx with the appropiate arguments

Some of them are just one or two-liners, but IMHO, they add up. Due to the Makefile, I don’t have to remember them.

To clarify: I’m not looking for a Python equivalent for Rake. I’m glad with paver. I’m looking for the reasons.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T23:38:59+00:00Added an answer on May 25, 2026 at 11:38 pm

    Is there nothing to automate?

    Not really. All but two of the examples are one-line commands.

    tl;dr Very little of this is really interesting or complex. Very little of this seems to benefit from “automation”.

    Due to documentation, I don’t have to remember the commands to do this.

    Do most programmers prefer to run stylechecks, tests, etc. manually?

    Yes.

    generation documentation,
    the docs task calls sphinx with the appropiate arguments

    It’s one line of code. Automation doesn’t help much.
    sphinx-build -b html source build/html. That’s a script. Written in Python.

    We do this rarely. A few times a week. After “significant” changes.

    running stylechecks (Pylint, Pyflakes and the pep8-cmdtool).
    check calls the pep8 and pylint commandlinetools

    We don’t do this. We use unit testing instead of pylint.
    You could automate that three-step process.

    But I can see how SCons or make might help someone here.

    tests

    There might be space for “automation” here. It’s two lines: the non-Django unit tests (python test/main.py) and the Django tests. (manage.py test). Automation could be applied to run both lines.

    We do this dozens of times each day. We never knew we needed “automation”.

    dependecies sets up a virtualenv and installs the dependencies

    Done so rarely that a simple list of steps is all that we’ve ever needed. We track our dependencies very, very carefully, so there are never any surprises.

    We don’t do this.

    the test task depends on dependencies enables the virtualenv, starts selenium-server for the integration tests, and calls nosetest

    The start server & run nosetest as a two-step “automation” makes some sense. It saves you from entering the two shell commands to run both steps.

    the coffeescript task compiles all coffeescripts to minified javascript

    This is something that’s very rare for us. I suppose it’s a good example of something to be automated. Automating the one-line script could be helpful.

    I can see how SCons or make might help someone here.

    the runserver task depends on dependencies and coffeescript

    Except. The dependencies change so rarely, that this seems like overkill. I supposed it can be a good idea of you’re not tracking dependencies well in the first place.

    the deploy task depends on check and test and deploys the project.

    It’s an svn co and python setup.py install on the server, followed by a bunch of customer-specific copies from the subversion area to the customer /www area. That’s a script. Written in Python.

    It’s not a general make or SCons kind of thing. It has only one actor (a sysadmin) and one use case. We wouldn’t ever mingle deployment with other development, QA or test tasks.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Possible Duplicate: Calling Python from Objective-C I'm a long-time Python programmer and short-time Cocoa
I've recently started learning Python (long time Java programmer here) and currently in the
I'm a long time C++/Java developer trying to get into Python and am looking
I am a long time user of Python and really like the way that
I've used python for a long time, and I'm just beginning to use C++
[Python 3.1] My program takes a long time to run just because of the
I am using python's boto script, and I haven't touched in a long time
Imagine a Python script that will take a long time to run, what will
I occasionally have Python programs that take a long time to run, and that
I have a Python script which takes a long time to run. I'd quite

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.