Re: West not installing; Alternative ways to install? #west

Birch Jr, Johnnie L <johnnie.l.birch.jr@...>

Hi Marc,


Just seeing this, thanks for the follow-up. I think this question of how much material to provide for auxiliary tools and dependencies is a probably a tough one. I think with pip/python, corrupting this installation is pretty easy … multiple versions stashed in different places, multiple tools for installing packages, like you said … everything works like magic until it doesn’t. I am not sure how much more pip material would have been useful for me here but if it included a section on common issues that matched mine then obviously that would have been helpful. In general what is truly invaluable when getting are forums like this where there is a lot of activity and folks are reading and responding helping to build a knowledge base that you can search.




From: Herbert, Marc
Sent: Tuesday, February 19, 2019 11:11 AM
To: Birch Jr, Johnnie L <johnnie.l.birch.jr@...>; Marti Bolivar <marti@...>
Cc: users@...
Subject: Re: [Zephyr-users] West not installing; Alternative ways to install? #west




   I think the current Getting Started guide really underestimates the importance of "pip[3]".


The zephyr repo has about 100 Python scripts now and counting and pip plays an incredibly crucial role in "Getting Started", it's like magic... until something breaks. Then it's like: "What was this pip thing again and what did it change on my system? Wait, *all that*?" Happened to me and apparently Johnnie too.


On Linux the interactions between Python packages installed by the Operating System vs the --user ones installed in ~/.local/bin can be especially fun, e.g.


Reading the current from the start, the very first mention of pip for Windows and MacOS is:


Bootstrap west

Install the bootstrapper for Zephyr’s command-line tool, West (Zephyr’s meta-tool) in a shell or cmd.exe prompt:

# Linux

pip3 install --user west


# macOS and Windows

pip3 install west


... and then a forward-reference to installing more dependencies with pip. Not a word about what pip even is; into the deep end. Of course pip can easily be Googled, however one purpose of a Getting Started guide is IMHO to explain the bare minimum about every new critical thing without having to research it.


To avoid the forward reference and give pip a bit more of the credit it deserves, I think most things pip should be in a new, short but very first "PIP" section, in the main page and before anything about west considering west needs pip. This new and "true" PIP section can then have a very short introduction briefly describing what is and emphasizing how important it is and a link to its (good!) home page in case something goes wrong. Such a "promotion" would hopefully encourage new users to pay a bit more attention to pip and for instance not dismiss any warning from it.


The slimmed down "Python Dependencies" section found later could then be downgraded to a one-line subsection of "Set Up a tool[chain]".


My 2 cents while I still remember about my "getting started" experience - this sort of experience tends to fade away very quickly :-)





From: <users@...> on behalf of "Birch Jr, Johnnie L" <johnnie.l.birch.jr@...>
Date: Sunday, 17 February 2019 at 12:01
To: Marti Bolivar <marti@...>
Cc: "users@..." <users@...>
Subject: Re: [Zephyr-users] West not installing; Alternative ways to install? #west


Hi Marti, all,


Thanks for the reply. There was something corrupt related to my pip/python install. Seems multiple versions of pip3 were found where version check at the command line would show version 3.5.2 while printing the version from a python statement would show 19.0.2. Ultimately I used some combination of commands using easy_install3 to get it installed instead of using pip.




From: Marti Bolivar [mailto:marti@...]
Sent: Friday, February 15, 2019 6:39 PM
To: Birch Jr, Johnnie L <johnnie.l.birch.jr@...>
Cc: users@...
Subject: Re: [Zephyr-users] West not installing; Alternative ways to install? #west


Hi Johnnie,


You can run "pip3 show -f west" to see where west was installed. Please make sure that is on your PATH. On Linux that is likely to be ~/.local/bin or so.



On Fri, Feb 15, 2019, 7:23 PM <johnnie.l.birch.jr@... wrote:

Hi All,

Getting started with zephyr, wanting to flash on an arduino 101 board for some experimentation. My host system is Mint 18.1 based on Ubuntu 16.04. I've followed steps to install the SDK and I assume that is installed correctly. Now I am following steps to install west from here:  but this step:

# Linux
pip3 install --user west

does not seem to do what it is intended. It leads to what looks like a successful install: 

jlb6740@yshou-mint:~$ pip3 install --user west
Collecting west
  Using cached
Collecting colorama (from west)
  Using cached
Collecting pykwalify (from west)
  Using cached
Collecting PyYAML (from west)
Collecting python-dateutil>=2.4.2 (from pykwalify->west)
  Using cached
Collecting docopt>=0.6.2 (from pykwalify->west)
Collecting six>=1.5 (from python-dateutil>=2.4.2->pykwalify->west)
  Using cached
Installing collected packages: colorama, six, python-dateutil, docopt, PyYAML, pykwalify, west
Successfully installed PyYAML-3.13 colorama-0.4.1 docopt-0.6.2 pykwalify-1.7.0 python-dateutil-2.8.0 six-1.10.0 west-0.5.4
You are using pip version 8.1.1, however version 19.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
jlb6740@yshou-mint:~$ westcos-tool ^C
jlb6740@yshou-mint:~/Downloads$ west --version
No command 'west' found, did you mean:
 Command 'test' from package 'coreutils' (main)
west: command not found


but there is no "west" file to execute on my path. At the website for west the install command is slightly different:

pip3 install west

But again, nothing is found on my path. I tried to install the whl file, I also tried to install with sudo but nothing has given me an executable to move on to the next steps:

west init zephyrproject
cd zephyrproject
west update

What are some alternative ways to installing this west script? Even the "Using Zephyr with west" page seems to imply I will want it for flashing and debugging later so I assume this is not a step I should skip.




Join { to automatically receive all group messages.