Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

find a compatible python interpreter for a script

Project Description

python_shebang Description
==========================

[![Build Status](https://travis-ci.org/yahoo/python_shebang.svg?branch=master)](https://travis-ci.org/yahoo/python_shebang)

This package provides a command that can be run from /usr/bin/env on the
shebang line of a script that will find an appropriate python interpreter
to run it.

Unlike plain /usr/bin/env this script allows specifying the version of python
and python modules that are required.


Supported Operating Systems
===========================
This script is designed to operate on Unix operating systems. It is of no
value on Windows which does not use shebang.


Dependencies
============
python_shebang is written to be able to run under any python version 2.6 or
higher using only modules in the python standard library.


Examples
========

Here is a shebang line that will run the script with a python2.6 interpreter
that has both the foo and bar modules:

```#!/usr/bin/env python_shebang version:2.6 module:foo module:bar```


This shebang line will run the script with a python 3 interpreter that has
the paramiko module:

```#!/usr/bin/env python_shebang version:3 module:paramiko```


Running the command directly will give a python shell that meets the
requirements (the asyncio module was added in python 3.4):

```
$ python_shebang module:asyncio
Python 3.4.0 (v3.4.0:04f714765c13, Mar 15 2014, 23:02:41)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
```


If a compatible interpreter cannot be found it will generate an exception (the
asyncio module was added in python 3.4)

```
$ python_shebang module:asyncio version:3.3
Traceback (most recent call last):
File "/usr/bin/python_shebang", line 173, in <module>
version, modules, python_interpreters=python_interpreters
File "/usr/bin/python_shebang", line 139, in __search_for_interpreters
raise PythonNotFound('No usable python interpreters found')
__main__.PythonNotFound: No usable python interpreters found
```

Release history Release notifications

This version
History Node

0.0.34

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pythonenv-0.0.34-py2-none-any.whl (7.6 kB) Copy SHA256 hash SHA256 Wheel 2.7 Nov 10, 2015
pythonenv-0.0.34.tar.gz (5.6 kB) Copy SHA256 hash SHA256 Source None Nov 10, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page