| OLD | NEW |
| 1 ## vpython - simple and easy VirtualEnv Python | 1 ## vpython - simple and easy VirtualEnv Python |
| 2 | 2 |
| 3 `vpython` is a tool, written in Go, which enables the simple and easy invocation | 3 `vpython` is a tool, written in Go, which enables the simple and easy invocation |
| 4 of Python code in [VirtualEnv](https://virtualenv.pypa.io/en/stable/) | 4 of Python code in [VirtualEnv](https://virtualenv.pypa.io/en/stable/) |
| 5 environments. | 5 environments. |
| 6 | 6 |
| 7 `vpython` is a simple Python bootstrap which (almost) transparently wraps a | 7 `vpython` is a simple Python bootstrap which (almost) transparently wraps a |
| 8 Python interpreter invocation to run in a tailored VirtualEnv environment. The | 8 Python interpreter invocation to run in a tailored VirtualEnv environment. The |
| 9 environment is expressed by a script-specific configuration file. This allows | 9 environment is expressed by a script-specific configuration file. This allows |
| 10 each Python script to trivially express its own package-level dependencies and | 10 each Python script to trivially express its own package-level dependencies and |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 | 155 |
| 156 An enviornment specification file is a text protobuf defined as `Spec` | 156 An enviornment specification file is a text protobuf defined as `Spec` |
| 157 [here](./api/env/spec.proto). An example is: | 157 [here](./api/env/spec.proto). An example is: |
| 158 | 158 |
| 159 ``` | 159 ``` |
| 160 # Any 2.7 interpreter will do. | 160 # Any 2.7 interpreter will do. |
| 161 python_version: "2.7" | 161 python_version: "2.7" |
| 162 | 162 |
| 163 # Include "numpy" for the current architecture. | 163 # Include "numpy" for the current architecture. |
| 164 wheel { | 164 wheel { |
| 165 path: "infra/python/wheels/numpy/${platform}-${arch}" | 165 name: "infra/python/wheels/numpy/${platform}-${arch}" |
| 166 version: "version:1.11.0" | 166 version: "version:1.11.0" |
| 167 } | 167 } |
| 168 | 168 |
| 169 # Include "coverage" for the current architecture. | 169 # Include "coverage" for the current architecture. |
| 170 wheel { | 170 wheel { |
| 171 path: "infra/python/wheels/coverage/${platform}-${arch}" | 171 name: "infra/python/wheels/coverage/${platform}-${arch}" |
| 172 version: "version:4.1" | 172 version: "version:4.1" |
| 173 } | 173 } |
| 174 ``` | 174 ``` |
| 175 | 175 |
| 176 This specification can be supplied in one of three ways: | 176 This specification can be supplied in one of three ways: |
| 177 | 177 |
| 178 * Explicitly, as a command-line option to `vpython` (`-spec`). | 178 * Explicitly, as a command-line option to `vpython` (`-spec`). |
| 179 * Implicitly, as a file alongside your entry point. For example, if you are | 179 * Implicitly, as a file alongside your entry point. For example, if you are |
| 180 running `test_runner.py`, `vpython` will look for `test_runner.py.vpython` | 180 running `test_runner.py`, `vpython` will look for `test_runner.py.vpython` |
| 181 next to it and load the environment from there. | 181 next to it and load the environment from there. |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 | 226 |
| 227 #### Shebang (POSIX) | 227 #### Shebang (POSIX) |
| 228 | 228 |
| 229 If your script uses implicit specification (file or inline), replacing `python` | 229 If your script uses implicit specification (file or inline), replacing `python` |
| 230 with `vpython` in your shebang line will automatically work. | 230 with `vpython` in your shebang line will automatically work. |
| 231 | 231 |
| 232 ```sh | 232 ```sh |
| 233 #!/usr/bin/env vpython | 233 #!/usr/bin/env vpython |
| 234 ``` | 234 ``` |
| 235 | 235 |
| OLD | NEW |