Setting up pyenv on a production server is exactly the same as in development.
Some considerations for a hypothetical deployment strategy:
- It is suggested that there is a single user for deployment, e.g. "app" user
PYENV_ROOT is at the default location: ~app/.pyenv
- Python versions are either installed or symlinked to
~app/.pyenv/versions
- pyenv version 0.2 or greater is recommended.
Users of Capistrano may find these projects useful:
Ensure consistent PATH for processes
Interactive, non-interactive shells, cron jobs, and similar processes for the
"app" user all must ensure that pyenv is present in the PATH:
export PATH=~/.pyenv/shims:~/.pyenv/bin:"$PATH"
About systemd
If you use systemd, the PATH must be real PATH, not shims: