Project in Python as describe by Python 3 - SetupTools
The project name is specified in the name properties in the setup function of the setup.py file
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
One commonly used package configuration has all the module source code in a subdirectory (often called the src layout), like this:
├── 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:
# 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
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.
- install your project in editable mode
cd project_home pip install -e . #or pip install -e youPath
It will also:
- install any dependencies declared with install_requires
- and any scripts declared with console_scripts.
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”