Python Project Layout: Difference between revisions
Jump to navigation
Jump to search
Line 45: | Line 45: | ||
</font> | </font> | ||
==Bash Wrapper== | |||
< | |||
<syntaxhighlight lang='bash'> | |||
#!/usr/bin/env bash | |||
</ | |||
function main() { | |||
init_venv "$@" | |||
PYTHONPATH="$(dirname $0)/src" | |||
export PYTHONPATH | |||
"$(dirname $0)/venv/bin/python3" -m gpm "$@" | |||
} | |||
function init_venv() { | |||
echo 'init_venv' | |||
} | |||
main "$@" | |||
</syntaxhighlight> | |||
=Organizatorium= | =Organizatorium= |
Revision as of 19:35, 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/
Bash Wrapper
#!/usr/bin/env bash
function main() {
init_venv "$@"
PYTHONPATH="$(dirname $0)/src"
export PYTHONPATH
"$(dirname $0)/venv/bin/python3" -m gpm "$@"
}
function init_venv() {
echo 'init_venv'
}
main "$@"