ASPN ActiveState Programmer Network
  ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups | Web Services
SEARCH
advanced | search help

Reference
Visual Python
Tutorial
User Guide
Release Notes

MyASPN >> Reference >> Visual Python

Version 1.8.3

Table of Contents



ASPN, the ActiveState Programmer Network, features comprehensive Python programming resources. Check out:

Installing Visual Python

Hardware and Software Prerequisites

ActiveState's Visual Python is an Integrated Development Environment (IDE) for Python that runs as a plug-in for Microsoft Visual Studio .NET. Before you can install Visual Python, the following software must be installed on your system:

  • ActivePython version 2.1 or greater. Download ActivePython from the ActiveState web site.
  • Microsoft Visual Studio .NET. Please review the System Requirements for Visual Studio .NET before you proceed with the installation. Visual Python has no additional requirements.
  • Windows Script Host must be enabled on your system. In most cases, WSH is enabled by default. To confirm, enter "wscript" at a command prompt. This should display the Windows Script Host Settings dialog. If not, refer to the link above for information on installing and enabling WSH.

Visual Python does not function with beta or Release Candidate versions of Visual Studio .NET 2002 or Visual Studio .NET 2003.

Installing or Upgrading Visual Python

It is not necessary to upgrade or re-install ActivePython when you upgrade to a more recent version of Visual Python.

To install or upgrade Visual Python:

  1. Uninstall previous versions of Visual Python.
  2. Ensure that Visual Studio .NET is installed and operational on your system, but not currently running. Refer to Visual Studio .NET's installation instructions for information on installing and upgrading Visual Studio .NET.
  3. Download Visual Python. Be sure to download the Visual Python installer that matches your version of Microsoft Visual Studio .NET.
  4. Ensure you are logged in with an account that has administrative privileges. Double-click the installation file and follow the instructions in the installer.

Uninstalling Visual Python

To uninstall Visual Python:

  1. From the Windows Control Panel, select Add/Remove Programs.
  2. Select ActiveState Visual Python and click Remove.
  3. If you installed the Visual Python license patch for an earlier version, there will also be an entry for ActiveState Visual Python Beta x Patch in the Add/Remove Programs dialog. Select this item and click Remove.
Top

Visual Python Quick Start

Visual Python runs within Visual Studio .NET. We have included a sample Visual Studio solution containing a Visual Python project to help you get started. In the section below, you will open the sample project and begin debugging.

  1. From the Windows Start menu, select Programs|ActiveState Visual Python|Samples|Dramatis Personae.
  2. In Visual Studio's Solution Explorer, notice the solution called "dramatis_personae", which contains the project dramatis_personae, which, in turn, contains the program python_sample.py. If the Solution Explorer pane is not visible in the Visual Studio .NET workspace, click View|Solution Explorer.
  3. Double-click the program file (python_sample.py) to open it in the editor.
  4. Visual Python's default installation assumes that you have installed ActivePython in the directory c:\Python21\. If this is not the case, select Tools|Options|Projects|VisualPython, and specify the location in the Python Interpreter location.
  5. Begin debugging. Set breakpoints by clicking in the grey margin to the left of the editing pane. Press F11 (Debug|Step Into) to start debugging.

Use our sample solution to familiarize yourself with using Visual Python to edit and debug Python programs. See the Visual Python User Guide for information about creating new solutions and projects, and using Visual Python's advanced editing and debugging functions.

Top

What's New in Version 1.8.3

Version 1.8.3: June, 2004

  • Code Completion Revisited The code-completion engine has been revised to provide better information on user-defined modules and classes, and deeper information on third-party modules. Also, a pseudo-random algorithm was designed to causes changes in the code to be reflected nearly instantly in drop-downs, without any reduction in speed.
  • Bug Fixes
    • There were some thread-safety violations in the syntax-error detection code that have been fixed. The most common symptom of this bug was that closing a Visual Python project would sometimes cause Visual Studio to crash instead of shutting down gracefully.
    • The Run Window now stays put, in the same window pool as the Output window by default.
    • Dragging a file in the Solution Explorer from a non-Active-State authored project to a Python project no longer causes the file to be deleted. This was caused by inconstent interpretations of what dragging meant across the two different projects. Now the file is copied into the target project, and if the file already exists in the project, the drag operation is ended prematurely.
Top

Release History

Version 1.8.3: June, 2005

  • This bug-fix release fixes some longstanding issues, and reworks the code-completion engine to provide better support for classes and methods defined in the current buffer.

Major Bug Fixes

  • Code completion now handles classes and methods defined in the current buffer. It also handles some bindings to variables within scopes, such as importing a module under a different name, and keeps track of variables that have been bound to strings, lists, and dictionaries.
  • The syntax error detection module used data in a way that violated thread-safety guidelines causing occasionals crashes of Visual Studio during shutdown. This has been fixed.
  • By default the Run window now shows up in the same pool of windows as the Output window.

Version 1.8.2: February, 2005

  • The Visual Python Installer now recognizes the new way that the Win32 Python extensions are registered when installed.

Version 1.8.1: June, 2003

  • Call tip functionality has been extended to include nested methods. Most Python built-in functions are also supported. Call tips are now re-displayed using the Ctrl+Shift+Space key combination.

Version 1.8: April, 2003

  • Remote debugging.
  • An interactive shell featuring code-coloring and cut-and-paste functionality makes it more convenient to test code snippets.
  • The Python library and the language reference can now be accessed through Microsoft Visual Studio's Dynamic Help.
  • IntelliSense has been broadened, and now supports most imported modules.
  • Project wizards support the creation of both empty projects and projects containing a single, empty Python file.
  • Multiple versions of the core Python language are supported for users with win32 extensions installed.

Major Bug Fixes

  • The Class Browser no longer excludes classes and methods.
  • Built-in attribute names no longer appear in the view variables windows during debugging.
  • Previously, when Visual Python was set to use tabs instead of spaces, pressing return with the cursor positioned in the leading white space sometimes deleted characters.

Version 1.2.1: September, 2002

  • Statement completion while editing would sometimes cause Visual Python to crash while shutting down (although all files had been saved). This has been fixed.

Version 1.2: January, 2002

Version 1.1.1: October 22, 2001

  • Visual Studio .NET Release Candidate This release of Visual Python supports Microsoft's Visual Studio .NET Professional Release Candidate. Visual Studio .NET Beta 2 users should download Visual Python version 1.1.

Version 1.1: October 8, 2001

  • Dynamic Python Help Python language reference is now available through Visual Studio's Dynamic Help system.
  • Add Entries to the Task List Comments embedded in the Python program can be automatically added to the Visual Studio Task List.
  • Class View Visual Python now makes use of Visual Studio .NET's Class Viewer. To invoke the Class View, select View|Class View. The class view window is used to quickly navigate a Python program; the Class View form shows a hierarchical view of files, classes and functions.
  • Code Folding Visual Python recognizes discrete block of code, and provides visual cues that indicate where blocks of code can be collapsed and expanded.

Beta 2: June 25, 2001

  • Hex Values during Debugging: while debugging, the debugging windows (Watch, Locals, etc) now display numeric values in hex format.
  • Improved Call Stack: while debugging, the Call Stack window displays the function name, line number and file for each stack frame in the program. You can control whether to show filenames and / or line numbers by right-clicking in the Call Stack window and checking the corresponding entries.

Beta 1: April 5, 2001

  • Editing:
    • syntax coloring that recognizes keywords, comments, etc.
    • background syntax checking that recognizes syntax errors and underlines them in red
    • auto-indenting that recognizes colons, as well as opening and closing parentheses, braces and brackets
    • support for commenting and uncommenting blocks of code
  • Debugging:
    • basic debugging functionality
    • a Watch window that allows you to change the value of scalar variables during debugging
    • hover tips
    • the ability to run and debug Python programs in a DOS shell window or in the Visual Studio .NET development environment
Top

License and Expiry

Visual Python licenses can be obtained from the ActiveState web site. Two license types are available: a twenty-one day Evaluation License, and a Commercial License.

The Visual Python End User License Agreement is displayed during the Visual Python installation. It is also stored in RTF format in the Visual Python installation directory (by default, c:\Program Files\ActiveState VisualPython\doc).

Top

Known Issues in Visual Python

  • Method tips are not supported for Python built-in functions and methods.
  • Only one instance of the Visual Python debugger can be running on your system at one time. While you can have multiple instances of Visual Python open, the debugger can only be running in one of those instances.
  • Source Code Control is not completely implemented. While some menu commands are available, we recommend that you use your source control client for checking in and checking out files from repositories.
  • Conditional breakpoints are not yet implemented.
  • Watch points (breakpoints that are triggered when the value of a specified expression changes) are not yet implemented.
  • If there are syntax errors in a program, Visual Python displays a dialog stating that "Debugger unable to start due to syntax errors in your code."
  • The Sample Project assumes that you have installed ActivePython in the default directory (c:\Pythonx\python.exe, where "x" is the Python version). If this is not the case, select Tools|Options|Projects|VisualPython and modify the value in the Python Interpreter location field.
  • If there are syntax errors in a program, Visual Python displays the following message in the Output window: "Can't run due to syntax errors." If the debugger appears to hang, open the Windows Task Manager, select the Processes tab, select the Python~1.EXE process, and click End Process.
  • The call stack is incomplete: while the call-stack shows the full stack, giving the subroutine name, filename, and line number for each frame, it does not give argument information.
  • Under some circumstances, breakpoints become "stuck". However, they will disappear after the debugger is stopped and restarted.
  • On machines where Visual Studio .NET was the original installation, (i.e., Visual Studio .NET was not an upgrade to Visual Studio version 6), debugging sessions should always start with either F10 (Debug|Step Over) or F11 (Debug|Step Into). Once debugging is underway, F5 (Continue) can be used to hop from one breakpoint to another.

    If the debugger hangs after starting a session with F5, selecting the Debug|Break menu item usually causes the arrow to appear and the debugger to respond. If this fails, select Debug|Stop Debugging to end the debugging session.

    If the debugger is still not responding, use the Windows Task Manager to check for, and remove, the following two processes:

    • PYTHON~1.EXE
    • Python.exe


  • Under certain circumstances, the Visual Python debugger will appear to hang. For example, in order to collect information about a running Python script, the Visual Python debugger uses various introspection methods, including __repr__, __getattr__, and __getitem__. A common practice in Python is to redefine these methods to accomplish customized behaviors. Unfortunately, if these redefined methods clash with the debugger's use of them, the results are unpredictable.

    For example, consider the following Python script:

    class Test:
            def __repr__(self):
                    from time import sleep
                    sleep(1000000)

          def f(self)
              ...

    a = Test()
    a.f()

    When the user steps over the "a = Test()" line, and attempts to print the value of variable "a" (either by hovering over it, raising the Watch window, or putting "a" in the Watch window), Visual Python will call the Test.__repr__() method. This will slow down the debugger as it attempts to generate a string representation of the "a" variable. The debugger may appear to be hung.
Top

Contact ActiveState

Visual Python Announcements: to receive announcements via email regarding Visual Python, subscribe to the Visual Python Announcement list. See the Visual Python Announcement Message Archive to view previous notices.

Visual Python Discussions: to participate in email discussions regarding Visual Python, subscribe to the Visual Python Discussion list. See the Visual Python Discussion Message Archive to view previous discussion threads.

Visual Python Questions and Comments: send email to the Visual Python Feedback mailing list.

Visual Python Bugs: to view and report Visual Python bugs, visit the Visual Python bug database.

Top

 

 


Copyright © 2000 - 2005 ActiveState, a division of Sophos Plc. Portions Copyright © 1987-2003, Microsoft Corporation. All rights reserved. ActiveState and Visual Python are registered trademarks of ActiveState Corporation. IntelliSense® is a Registered Trademark of Microsoft. Other companies and products mentioned in this document are the property of those companies.


Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState 2004 All rights reserved