Skip to main content

Windows command-line tool to switch between different installed versions of Python.

Project description

Description

From the command-line, run:

> pychoose XY

This will make Python version X.Y active, if it is installed, for subsequent commands from the same prompt. The change is local to this shell.

The prompt is modified to indicate the modified environment.

To revert to the previously used version of Python, type ‘exit’

This works by starting a new Cmd shell with a modified PATH, by prepending C:\PythonXY and its subdirectories, and importantly by removing any other C:\PythonZZ directories and subdirectories.

Multiple invocations of pychoose can be nested.

Dependencies

No dependencies other than Python itself. Only tested on 2.4, 2.5, 2.6.

Installing

Windows users may download and double-click a graphical installer from http://pypi.python.org/pypi/pychoose.

Command-line jockeys with setuptools installed may use:

easy_install pychoose

or, if pip is installed:

pip install pychoose

or download a zip of the source from http://pypi.python.org/pypi/pychoose and use:

python setup.py install

Alternatively, to check out the latest unstable source from subversion, including tests, see:

http://code.google.com/p/pychoose/source/checkout.

Known Problems

Doesn’t work in a Cygwin shell, nor on other platforms.

Should get install dirs of various Python versions from the registry, insted of assuming they are all variations on C:\PythonXX.

When it operates, it changes the path to put itself out of reach! So, like any other Python package, it requires installing separately for each Python version you have installed, which is a bit irksome. It would be better if it installed to some location that was always on the path, even when specific Python versions are removed from the path. Or perhaps it should copy itself into the Python version being activated? Hmmm…

Doesn’t affect Windows .py filetype associations. Perhaps this could be tackled by inserting an environment variable into the registry keys, set the env var in the registry (to persist its default value) and then change that value temporarily and locally in this script.

Haven’t tested how it interacts with virtualenv.

Doesn’t modify PYTHONPATH. Should it ever?

Currently adds all subdirectories of PythonXX to the PATH. This is probably overkill. Can we filter out desired subdirectories with any reliability?

License

Pychoose is distributed under the BSD license. Live long and prosper.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pychoose-0.1.2.zip (4.8 kB view details)

Uploaded Source

Built Distribution

pychoose-0.1.2.win32.exe (202.1 kB view details)

Uploaded Source

File details

Details for the file pychoose-0.1.2.zip.

File metadata

  • Download URL: pychoose-0.1.2.zip
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pychoose-0.1.2.zip
Algorithm Hash digest
SHA256 8967d5c13b32baaa989cc092be6491e8560cc2e17a90ecc911deb4a72cb83c27
MD5 756a73bb722d22ef6865b77753b39890
BLAKE2b-256 2b6d4f48dc046768b2fe14ffafb893753948041e6c5d4cc49a3f16e99d33a394

See more details on using hashes here.

File details

Details for the file pychoose-0.1.2.win32.exe.

File metadata

  • Download URL: pychoose-0.1.2.win32.exe
  • Upload date:
  • Size: 202.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pychoose-0.1.2.win32.exe
Algorithm Hash digest
SHA256 b2108bb3f1291d557501c5f7a759449d8bb9c564d4e1c79664dd43c3f5240e33
MD5 0b4879c30454114c3c4374e09314bc54
BLAKE2b-256 ca25de6ac02aecbcde8a346654c3741e1c11483f2a26d694a5e463d97740d26b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page