Skip to main content

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
```

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

pythonenv-0.0.34.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

pythonenv-0.0.34-py2-none-any.whl (7.6 kB view details)

Uploaded Python 2

File details

Details for the file pythonenv-0.0.34.tar.gz.

File metadata

  • Download URL: pythonenv-0.0.34.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pythonenv-0.0.34.tar.gz
Algorithm Hash digest
SHA256 6e00b3df70373f77deb0fac7795928ee113462b5f7c30e4d333913ac4cd32d38
MD5 7f524911f6c4a967892eb9a08204cde1
BLAKE2b-256 e5eb14e2e50432cda9fc9d08398d01cee3dd2443a150623226538d57fcee5e56

See more details on using hashes here.

File details

Details for the file pythonenv-0.0.34-py2-none-any.whl.

File metadata

File hashes

Hashes for pythonenv-0.0.34-py2-none-any.whl
Algorithm Hash digest
SHA256 5c5eccc5a56d60a3cfb4e996820d981eb78385b16cc5882d0446a6203a8d3a06
MD5 b4ceb8fec668c6ea42175c07f087944e
BLAKE2b-256 684141ac9c6315e3a083e27c19417d785abec6913a9d0c1a7dda17636fb9b620

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