| .. _west-install: |
| |
| Installing west |
| ############### |
| |
| West is written in Python 3 and distributed through `PyPI`_. |
| Use :file:`pip3` to install or upgrade west: |
| |
| On Linux:: |
| |
| pip3 install --user -U west |
| |
| On Windows and macOS:: |
| |
| pip3 install -U west |
| |
| .. note:: |
| See :ref:`python-pip` for additional clarification on using the |
| ``--user`` switch. |
| |
| Afterwards, you can run ``pip3 show -f west`` for information on where the west |
| binary and related files were installed. |
| |
| Once west is installed, you can use it to :ref:`clone the Zephyr repositories |
| <clone-zephyr>`. |
| |
| .. _west-struct: |
| |
| Structure |
| ********* |
| |
| West's code is distributed via PyPI in a Python package named ``west``. |
| This distribution includes a launcher executable, which is also named |
| ``west`` (or ``west.exe`` on Windows). |
| |
| When west is installed, the launcher is placed by :file:`pip3` somewhere in |
| the user's filesystem (exactly where depends on the operating system, but |
| should be on the ``PATH`` :ref:`environment variable <env_vars>`). This |
| launcher is the command-line entry point to running both built-in commands |
| like ``west init``, ``west update``, along with any extensions discovered |
| in the workspace. |
| |
| In addition to its command-line interface, you can also use west's Python |
| APIs directly. See :ref:`west-apis` for details. |
| |
| .. _west-shell-completion: |
| |
| Enabling shell completion |
| ************************* |
| |
| West currently supports shell completion in the following combinations of |
| platform and shell: |
| |
| * Linux: bash |
| * macOS: bash |
| * Windows: not available |
| |
| In order to enable shell completion, you will need to obtain the corresponding |
| completion script and have it sourced every time you enter a new shell session. |
| |
| To obtain the completion script you can use the ``west completion`` command:: |
| |
| cd /path/to/zephyr/ |
| west completion bash > ~/west-completion.bash |
| |
| .. note:: |
| |
| Remember to update your local copy of the completion script using ``west |
| completion`` when you update Zephyr. |
| |
| Next, you need to import :file:`west-completion.bash` into your bash shell. |
| |
| On Linux, you have the following options: |
| |
| * Copy :file:`west-completion.bash` to :file:`/etc/bash_completion.d/`. |
| * Copy :file:`west-completion.bash` to |
| :file:`/usr/share/bash-completion/completions/`. |
| * Copy :file:`west-completion.bash` to a local folder and source it from your |
| :file:`~/.bashrc`. |
| |
| On macOS, you have the following options: |
| |
| * Copy :file:`west-completion.bash` to a local folder and source it from your |
| :file:`~/.bash_profile` |
| * Install the ``bash-completion`` package with ``brew``:: |
| |
| brew install bash-completion |
| |
| then source the main bash completion script in your :file:`~/.bash_profile`:: |
| |
| source /usr/local/etc/profile.d/bash_completion.sh |
| |
| and finally copy :file:`west-completion.bash` to |
| :file:`/usr/local/etc/bash_completion.d/`. |
| |
| .. _PyPI: |
| https://pypi.org/project/west/ |