Install Grow.dev
Grow.dev is a Python 3 program. We recommend using Pipenv to manage Python installations and versions across projects. To use Pipenv with Grow.dev, see the below steps.
Using Pipenv permits you to have a different version of Python and a different version of Grow.dev installed on a per-project basis.
Install Pipenv
Mac setup
- Install Homebrew.
- Install Pipenv and LibYAML:
brew install pipenv libyaml
Linux setup
- Install (Pipenv)[https://pypi.org/project/pipenv/].
Create a Pipfile
Pipenv uses Pipfile
files to specify Python installations and dependencies.
Run the following to add a Pipfile
and Pipfile.lock
:
# Setup the pipenv config using Python 3 pipenv --python 3 # Install the grow dependency. pipenv install grow~=1.0.0
Need to use a different version of Grow.dev? Update the versions of grow
and
python_version
in Pipfile
accordingly.
Node setup
Most Grow.dev projects rely on Node in some way for JavaScript extensions. We
recommend using nvm
for managing Node versions.
Most Grow.dev extensions rely on Node versions 10.x or higher.
Note for Mac users: many Node programs (i.e. popular node-sass
) may require
Xcode and its command line tools to compile. Install Xcode using the Mac App
Store, and then follow the xcode-select
install
instructions.
Alias
For convenience, we recommend adding a global alias for grow
to pipenv run
grow
. This permits you to run grow
instead of pipenv run grow
for all
Grow commands.
# In .bash_profile (or similar). alias grow='pipenv run grow'
Using a starter
We recommend using a starter project to get started with your first Grow.dev
website. Get started with our base starter
which provides a Pipfile
and a project structure that's ready to go.
Next steps
Once the above steps are completed, you can invoke grow
to use the CLI. Run
the below commands from within your project directory:
# Output help. grow --help # Install project dependencies (Python and Node extensions). grow install # Run the development server. grow run # Build the project. grow build
Once you're familiar with the overall setup, most projects can be started with:
pipenv install grow install grow run
Troubleshooting
LibYAML
If you are seeing this message: Warning: libyaml missing, using slower yaml
parser.
when running grow
you may not have LibYAML installed or need to run a
command to fix Pipenv to correctly use it.
watchdog on macOS and Python 3.8
Certain configurations of macOS and xCode may run into issues installing the
watchdog
dependency. The simplest way to resolve this is to use Python 3.7,
which isn't impacted by the
issue. Many systems will
have Python 3.7 available, but newer systems may only have Python 3.8.
# Install Python 3.7.9 globally. brew install pyenv pyenv install 3.7.9 pyenv global 3.7.9 # Run from your Grow project directory. pipenv --rm pipenv install
Getting Python 3x on macOS
We recommend using the newest verson of macOS which has the newest versions of
Python 3 available. If you are on an older version of macOS, you can use
pyenv
to install Python 3:
brew install pyenv pyenv install 3.7.9 pyenv global 3.7.9