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

  • SEARCH
  • Home
  • 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 611023
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T17:44:19+00:00 2026-05-13T17:44:19+00:00

I have some code that I am trying to make it play nicely with

  • 0

I have some code that I am trying to make it play nicely with ESRI’s geoprocessor. However, ESRI’s geoprocessor runs on Python 2.2, 2.3, 2.4, 2.5. We need to make our tools work on any version. So I’ve spent a lot of time working and coding workarounds for different versions, such that the wrapper geoprocessor has identical functionality across all versions.

Now here’s the big thing, is there some sort of application that can basically scan modules to see if its syntax and methods are backwards compatible with the above Python version’s?

Unfortunately, I cannot install Python 2.2 since I have Arcgis 9.3, which requires Python 2.5. And vice versa, I’ve gotten pretty much all the module dependencies sorted and worked out. (win32com, ctypes, etc.).

But I am worried about my actual code, I could spend hours going and reading what keywords were added for what version etc, however this basically will be a huge headache. Is there some sort of application that does these things?

  • 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-13T17:44:20+00:00Added an answer on May 13, 2026 at 5:44 pm

    If you are actively developing a commercial product, and you -really- want to support all these versions properly, I would suggest:

    1. Writing an automated test suite that can be run and tests functionality for your entire library/application/whatever.

    2. Setting up a machine, or ideally virtual machine for each test environment (python 2.2-2.6 and any platform combinations if your product is not win32 only). This is especially easy to do nowadays given that there are several free virtualization products now (VirtualBox and VMWare Server, to name two)

    3. Using something like buildbot to automate the test running on all the other platforms, and collecting the results.

    I might mention however, that there have been significant changes between 2.2 and 2.3, and again between 2.3 and 2.4. This is why most python libraries out there only support 2.3, and a number are moving to only supporting 2.4 and up now.

    Every major release has a “What’s new in python 2.x” document, but coding for 2.2 means you miss out on:

    • Generators (2.3) (well actually, you can get them in 2.2 with from __future__ import generators)
    • Generator expressions (2.4)
    • the subprocess module (2.4)
    • Decorator syntax (2.4)
    • sets (2.3)
    • decimal (2.4, but can be backported)
    • datetime (2.3)
    • itertools (2.3)

    Just to name a very small subset of awesome things you probably can’t have.

    You have to really consider how badly you want to support a 7-year old python version, and miss out on a lot of cool features that can reduce your code size (or possibly just increase readability).

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

Sidebar

Related Questions

I've been trying to implement unit testing and currently have some code that does
Trying to get comfortable with jQuery and I have encountered some sample code that
I am trying to setup a few fixes in some code that have caught
I have a mobile platform that I am trying to write some communications code
I have some code(client side) that is trying to cache responses from a web
I have some test code that i'm just trying to use to figure out
I have some code to count permutations and combinations, and I'm trying to make
I have some code that I believe to run in O(n), however when I
I have some legacy code that I am now trying to re-use under Spring.
I have some code that gives a user id to a utility that then

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.