Skip to content

Commit

Permalink
Merge pull request #3865 from GandalfSaxe/patch-1
Browse files Browse the repository at this point in the history
Move information on `pip install -e` to the top
  • Loading branch information
nicoddemus committed Aug 24, 2018
2 parents 4c14740 + 40b4fe6 commit c829061
Showing 1 changed file with 22 additions and 13 deletions.
35 changes: 22 additions & 13 deletions doc/en/goodpractices.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,28 @@
Good Integration Practices
=================================================

Install package with pip
-------------------------------------------------

For development, we recommend to use virtualenv_ environments and pip_
for installing your application and any dependencies
as well as the ``pytest`` package itself. This ensures your code and
dependencies are isolated from the system Python installation.

First you need to place a ``setup.py`` file in the root of your package with the following minimum content:

from setuptools import setup, find_packages


setup(name="PACKAGENAME", packages=find_packages())

Where ``PACKAGENAME`` is the name of your package. You can then install your package in "editable" mode by running from the same directory::

pip install -e .

which lets you change your source code (both tests and application) and rerun tests at will.
This is similar to running ``python setup.py develop`` or ``conda develop`` in that it installs
your package using a symlink to your development code.

.. _`test discovery`:
.. _`Python test discovery`:
Expand Down Expand Up @@ -177,19 +199,6 @@ Note that this layout also works in conjunction with the ``src`` layout mentione
tox
------

For development, we recommend to use virtualenv_ environments and pip_
for installing your application and any dependencies
as well as the ``pytest`` package itself. This ensures your code and
dependencies are isolated from the system Python installation.

You can then install your package in "editable" mode::

pip install -e .

which lets you change your source code (both tests and application) and rerun tests at will.
This is similar to running ``python setup.py develop`` or ``conda develop`` in that it installs
your package using a symlink to your development code.

Once you are done with your work and want to make sure that your actual
package passes all tests you may want to look into `tox`_, the
virtualenv test automation tool and its `pytest support
Expand Down

0 comments on commit c829061

Please sign in to comment.