Calling Python from bash
Jump to navigation
Jump to search
Internal
Overview
This article summarizes a series of aspects related to invoking Python program from bash.
Running a Python Program with a Bash Wrapper
Check out these links for the meaning of standalone Python program and Python script.
Python Source Code and Tests Maintained within the Project Structure
. ├─ src ├─ tests ├─ venv ├─ requirements.txt └─ <wrapper-bash-script>
To maintain this subtree as part of a larger Python project whose .gitignore
ignores virtual environment directories, add this to the subtree's .gitignore
:
!venv
TODO: reconcile with Python Project Layout.
Only Externally Published Packages
. ├─ venv ├─ requirements.txt └─ <wrapper-bash-script>
Using the Interpreter from the a Virtual Environment
TODO
If you want to use the interpreter from a specific virtual environment instead of the interpreter found in PATH, explicitly use the path to the binary from the virtual environment directory:
$(dirname $0)/venv/bin/python ...
Bash Wrapper that Bootstraps a Virtual Environment
function init_venv() {
[[ -d $(dirname $)/venv ]] && return 0
info "initializing venv ..."
python3 --version 1>/dev/null 2>&1 || fail "python3 not in PATH"
python3 -m venv "$(dirname $)/venv"
}
Also see:
Inline Python Code
Use bash here-doc:
python3 <<EOF
print('blah')
EOF
Also see: