Python Project Layout: Difference between revisions
Jump to navigation
Jump to search
Line 11: | Line 11: | ||
├─ src | ├─ src | ||
│ └─ mypackage | │ └─ mypackage | ||
│ | │ ├─ __init__.py | ||
│ | │ ├─ __main__.py | ||
│ | │ └─ VERSION | ||
├─ tests | ├─ tests | ||
│ └─ mypackage | │ └─ mypackage | ||
│ | │ ├─ | ||
│ | │ | ||
└─ venv <font color=teal># created automatically upon virtual environment initialization</font> | └─ venv <font color=teal># created automatically upon virtual environment initialization</font> |
Revision as of 19:23, 25 October 2022
Internal
Overview
A typical Python project layout, which allows for code written in other programming languages as well, is similar to:
. ├─ .gitignore ├─ requirements.txt ├─ run ├─ src │ └─ mypackage │ ├─ __init__.py │ ├─ __main__.py │ └─ VERSION ├─ tests │ └─ mypackage │ ├─ │ └─ venv # created automatically upon virtual environment initialization ├─ bin
Setting a Manual Project
A project set up this way will be compatible with PyCharm. Also see:
Add the dependencies to requirements.txt
. For more details, see:
Initialize the virtual environment:
cd ${PROJECT_HOME} python3 -m venv venv venv/bin/pip install -r ./requirements.txt
For more details on virtual environments, see:
Example of .gitignore
:
venv/
Example of run
:
#!/usr/bin/env bash $(dirname $0)/venv/bin/python $(dirname $0)/src/main/python/main.py