2012-05-05 19:15:44 +02:00
Python
======
2012-09-03 03:14:32 +02:00
Enables local Python and local Python package installation.
2017-11-13 01:20:52 +01:00
Settings
--------
This module supports virtual environments from conda and virtualenvwrapper. By default, only virtualenvwrapper is enabled. To disable virtualenvwrapper, add the following to *zpreztorc* .
zstyle ':prezto:module:python' skip-virtualenvwrapper-init 'on'
Conda support is enabled by adding the following to *zpreztorc* .
zstyle ':prezto:module:python' conda-init 'on'
Caution: using conda and virtualenvwrapper at the same time may cause conflicts.
2012-09-03 03:14:32 +02:00
Local Python Installation
-------------------------
2013-08-20 14:21:17 +02:00
[pyenv][4] builds and installs multiple Python versions locally in the home
2012-09-03 03:14:32 +02:00
directory.
2013-08-20 14:21:17 +02:00
This module prepends the pyenv directory to the path variable to enable the
execution of `pyenv` .
2012-09-03 03:14:32 +02:00
### Usage
2017-08-30 01:47:06 +02:00
Install Python versions with `pyenv install` into `~/.pyenv/versions` .
2012-05-05 19:15:44 +02:00
Local Package Installation
--------------------------
Since version 2.6, Python supports per user package installation, as defined in
[PEP 370][1].
2012-06-02 23:17:12 +02:00
This module prepends per user site directories to the relevant path variables
to enable the execution of user installed scripts and the reading of
documentation.
2012-05-05 19:15:44 +02:00
### Usage
2017-08-30 01:04:44 +02:00
Install packages into the per user site directory with `pip install --user` .
2012-05-05 19:15:44 +02:00
virtualenvwrapper
-----------------
2017-08-30 01:47:06 +02:00
[`virtualenvwrapper`][2] is a frontend to the popular [`virtualenv`][3] utility.
2012-05-05 19:15:44 +02:00
2017-08-30 01:47:06 +02:00
`virtualenv` creates isolated Python environments and `virtualenvwrapper` provides
2012-05-05 19:15:44 +02:00
convenient shell functions to create, switch, and manage them.
### Usage
2017-08-30 01:47:06 +02:00
Install `virtualenvwrapper` .
2012-09-03 16:53:19 +02:00
2017-08-30 01:47:06 +02:00
Virtual environments are stored in `~/.virtualenvs` .
2012-05-05 19:15:44 +02:00
2012-09-03 17:27:58 +02:00
There are configuration variables that have to be set to enable certain features.
2017-08-30 01:47:06 +02:00
If you wish to use these features, export the variables in [`zshenv`][6].
2012-09-03 17:27:58 +02:00
2017-08-30 01:47:06 +02:00
The variable `$PROJECT_HOME` tells `virtualenvwrapper` where to place project
2012-09-03 17:27:58 +02:00
working directories. It must be set and the directory created before `mkproject`
is used. Replace *Developer* with your projects directory.
2017-07-21 03:07:29 +02:00
```sh
export PROJECT_HOME="$HOME/Developer"
```
2012-09-03 17:27:58 +02:00
2017-08-30 01:47:06 +02:00
The variable `VIRTUALENVWRAPPER_PYTHON` tells `virtualenvwrapper` to use the
specified full path of the `python` interpreter overriding the `$PATH` search.
2017-07-25 02:34:11 +02:00
```sh
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
```
2017-08-30 01:47:06 +02:00
The variable `VIRTUALENVWRAPPER_VIRTUALENV` tells `virtualenvwrapper` to use the
2017-07-25 02:34:11 +02:00
specified full path of `virtualenv` binary overriding the `$PATH` search.
```sh
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
```
2017-08-30 01:47:06 +02:00
The variable `$VIRTUALENVWRAPPER_VIRTUALENV_ARGS` tells `virtualenvwrapper` what
2012-09-03 17:27:58 +02:00
arguments to pass to `virtualenv` . For example, set the value to
2017-08-30 01:47:06 +02:00
`--system-site-packages` to ensure that all new environments have access to the
2012-09-03 17:27:58 +02:00
system site-packages directory.
2017-07-21 03:07:29 +02:00
```sh
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--system-site-packages'
```
2012-09-03 17:27:58 +02:00
2017-05-31 02:29:32 +02:00
### Additional Options
There is a hook to enable auto-switching to virtualenvs when switching into a
directory where the root of the project matches a virtualenv name.
This can be enabled with:
2017-07-21 03:07:29 +02:00
```sh
zstyle ':prezto:module:python:virtualenv' auto-switch 'yes'
```
2017-05-31 02:29:32 +02:00
2017-08-30 01:47:06 +02:00
`virtualenvwrapper` is automatically initialized if pre-requisites are met
2017-07-25 02:34:11 +02:00
(`$VIRTUALENVWRAPPER_VIRTUALENV` is explicitly set or `virtualenv` is in
`$PATH` ). This can be disabled with:
```
zstyle ':prezto:module:python:virtualenv' initialize 'no'
```
2012-08-15 14:00:08 +02:00
Aliases
-------
- `py` is short for `python` .
2017-07-25 02:34:11 +02:00
- `py2` is short for `python2` .
- `py3` is short for `python3` .
2012-08-15 14:00:08 +02:00
2012-09-03 16:34:41 +02:00
Functions
---------
- `python-info` exposes information about the Python environment via the
`$python_info` associative array.
2012-09-07 04:39:11 +02:00
Theming
-------
To display the name of the current virtual enviroment in a prompt, define the
2012-10-02 18:53:59 +02:00
following style in the `prompt_name_setup` function.
2012-09-07 04:39:11 +02:00
# %v - virtualenv name.
2012-10-02 04:02:47 +02:00
zstyle ':prezto:module:python:info:virtualenv' format 'virtualenv:%v'
2012-09-07 04:39:11 +02:00
Then add `$python_info[virtualenv]` to `$PROMPT` or `$RPROMPT` and call
2012-10-02 18:53:59 +02:00
`python-info` in the `prompt_name_preexec` hook function.
2012-09-07 04:39:11 +02:00
2012-05-05 19:15:44 +02:00
Authors
-------
2012-05-22 02:18:30 +02:00
*The authors of this module should be contacted via the [issue tracker][5].*
2012-05-05 19:15:44 +02:00
2012-05-22 02:18:30 +02:00
- [Sorin Ionescu ](https://github.com/sorin-ionescu )
- [Sebastian Wiesner ](https://github.com/lunaryorn )
2012-05-05 19:15:44 +02:00
[1]: http://www.python.org/dev/peps/pep-0370/
[2]: http://www.doughellmann.com/projects/virtualenvwrapper/
[3]: http://pypi.python.org/pypi/virtualenv
2013-08-20 14:21:17 +02:00
[4]: https://github.com/yyuu/pyenv
2012-09-03 22:08:39 +02:00
[5]: https://github.com/sorin-ionescu/prezto/issues
2017-08-30 01:47:06 +02:00
[6]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zshenv