Python - Project

> Procedural Languages > Python > Python - (Shipping|Packaging)

1 - About

Project in Python as describe by Python 3 - SetupTools

Advertising

3 - Properties

3.1 - Name

The project name is specified in the name properties in the setup function of the setup.py file

3.2 - Structure

Project are a set of file to package a package.:

  • one package - a single top-level package that has the same name as your project
  • setup.py file for configuration
  • README.md, README.rst, README.txt, or README (written using reStructuredText or markdown with the appropriate key set) making-a-pypi-friendly-readme
  • MANIFEST.ini to package additional files (data, …). doc

More. See:

One commonly used package configuration has all the module source code in a subdirectory (often called the src layout), like this:

src_layout
├── src
│   └── mypackage
│       ├── __init__.py
│       └── mod1.py
├── setup.py
└── setup.cfg

You can set up your setup.cfg to automatically find all your packages in the subdirectory like this:

setup.cfg
# This example contains just the necessary options for a src-layout, set up
# the rest of the file as described above.
 
[options]
package_dir=
    =src
packages=find:
 
[options.packages.find]
where=src
Advertising

4 - Management

4.1 - Configuration

4.2 - Sample

4.3 - Editable Mode Installation (development mode)

The project is both installed and editable in project form. ie changes to the project source are immediately available in the staging area(s), without needing to run a build or install step after each change. The project appears to be installed, but yet is still editable from the src tree.

cd project_home
pip install -e .
#or
pip install -e youPath

It will also:

Dependencies will be installed in the usual, non-editable mode.

  • Install without deps
pip install -e . --no-deps

See also: develop - Deploy the project source in “Development Mode”

Advertising

5 - Documentation / Reference