Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions pep-0582.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ struggle with virtual environments in their learning path. Creating a new direct
is still far easier than learning the details of virtual environments in various
platforms.

A major point for this PEP is that it is not trying to replace virtual environments.
If one needs all the features of virtual environments, they should use proper virtual
environments (for example, created using the :mod:`venv` module).

Specification
=============
Expand Down Expand Up @@ -90,6 +93,12 @@ directory (empty or with e.g. a file like ``.gitignore``). After doing a fresh
check out the source code, a tool like ``pip`` can be used to install the
required dependencies directly into this directory.

But, this does not enable all features of virtual environments in a similar
fashion. For example, if the project has multiple scripts, or helper scripts
in a different directory to build the project, a normal virtual environment
should be preferred over ``__pypackages__``.


Example
-------

Expand Down Expand Up @@ -177,6 +186,9 @@ For example, if we execute ``python /usr/share/myproject/fancy.py`` from the
``/usr/share/myproject/`` directory, it will be used. Any potential
``__pypackages__`` directory in ``/tmp`` will be ignored.

This also means we will not scan any parent directory while executing scripts.
If we want to execute scripts inside of the ``~/bin/`` directory, then
the ``__pypackages__`` directory must be inside of the ``~/bin/`` directory.

Backwards Compatibility
=======================
Expand All @@ -201,8 +213,8 @@ enable the implementation for ``Cpython`` & in ``PyPy``.
Rejected Ideas
==============

``__pylocal__`` and ``python_modules``.

``__pylocal__`` and ``python_modules`` as directory name. We will also not
reimplement all the features of virtual environments.

Copyright
=========
Expand Down