Windows command-line tool to switch between different installed versions of Python.
Project description
Description
From the Windows 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
MS Windows.
Python versions 2.4 to 3.1, although the Python you are switching TO can be any version at all.
No other dependencies.
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:
Known Problems
Only works on Windows. Not in a Cygwin shell, nor if Cygwin Python is first on your path, nor on other platforms.
Should get the install dirs of various Python versions from the registry, insted of assuming they are all variations on C:\Python*.
Would be much more reliable if we allow the user to pass the directory of the Python version to switch to, instead of trying to be clever and figure it out ourselves.
After running pychoose, it is no longer on your PATH, so although you can return to your default interpreter using ‘exit’, you can’t invoke pychoose again to switch to a third Python version, unless you either (a) specify the full path to pychoose, or (b) install pychoose on all installed versions of Python. This is a bit irksome. Can we install to somewhere that’s always on your path? Or sneakily copy ourselves into the Scripts folder of the Python version we are switching to? Better ideas welcome.
Can’t switch from versions of Python prior to 2.4, since we use ‘subprocess’ to launch the new shell.
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.
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
Built Distribution
File details
Details for the file pychoose-0.1.4.zip
.
File metadata
- Download URL: pychoose-0.1.4.zip
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d5be0208278b77b59ffc3c2e809c0b6dfadddbe9d26ab30e228976bd4f0c244 |
|
MD5 | 40e27cb8c374077a3d4fba4be28cc395 |
|
BLAKE2b-256 | fa398d9fafaa78588940e56f5e3c3b19d924883dffbc5486c31af80c8030ac26 |
File details
Details for the file pychoose-0.1.4.win32.exe
.
File metadata
- Download URL: pychoose-0.1.4.win32.exe
- Upload date:
- Size: 68.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae958cf9bed483e92d5f70edc86a7cd76f6ef3627f35a6ce20b9c5a5f235fb3a |
|
MD5 | 0fd10ce41fe436d3597fd65d013ee19a |
|
BLAKE2b-256 | 6a353c5ef76beb2d955af213e426b6d114794e69b3be72b755d739527b3cc6f3 |