Deviot icon indicating copy to clipboard operation
Deviot copied to clipboard

Guide: Running Deviot with ST3 / ST4, PlatformIO 5, and Python 3.6+

Open hijomojo opened this issue 4 years ago • 14 comments

Hi all,

Just figured I'd post this here as a solution to potentially many of your problems with running Deviot since PIO ended support for python 2.7/3.5 and lower. I've used these steps on ST3 and ST4 for Windows 10, and ST4 for macOS 11(.6)

For simplicity's sake, start from scratch

  • Remove Deviot from Sublime if you have it installed already (Package Control > Remove Package > Deviot)
  • ~~If you are on mac and have/had the dev branch installed, unfortunately I don't think it works with these instructions. If someone figures out a solution to that then let us know here! Removal is of course: Package Control > Remove Repository > https://rawgit.com/gepd/Deviot/master/repository.json~~ (2022-01-09) I've figured out how to get the dev branch working now, see below in Optional and #337 (this is required if you want to upload to boards which don't use Serial for upload)
  • If you're on mac and have installed PlatformIO via their get-platformio.py script, my understanding is you'll need to remove it. I had to use the Homebrew install, and I'm not sure how this goes if you've already got the regular install in place. pip uninstall platformio in the terminal of course.

Next step, Python

  • If you have 2.7 and 3.6+ installed already, you may need to re-install your 3.6+ version to make sure it has precedence over 2.7 (I'm not really that familiar with python so this may not strictly be necessary)
  • If you don't have Python 2.7 and/or 3.6+ installed, install them however you like (e.g. via https://www.python.org/downloads/). As above, make sure 3.6+ is installed/reinstalled after 2.7. My understanding is that you do need both versions, but please correct me if I'm wrong, it's always nice to minimise install overheads. In #320 and #323 people have mentioned they have it working in mac/Windows without 2.7, I haven't tested scientifically enough.

Then on to PlatformIO macOS

  • Install platformio via Homebrew. This seems to be important, I could not get it to work by installing PIO via their get-platformio.py script.
  • If you don't have Homebrew already, it can be installed by running (in terminal): /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • If it requests you install the Command Line Tools for Xcode, go ahead with that
  • Then install platformio: brew install platformio

Windows

  • It's been quite a few months since I did this, but IIRC you may be able to get away with the PIO install created by Deviot. Check if you have a .platformio folder in your user directory e.g. C:\Users*username*.platformio. If not...
  • Install PIO using their instructions here: https://docs.platformio.org/en/latest/core/installation.html#id30

Both

Finally, back in Sublime Text

  • Install Deviot: Package Control > Install Package > Deviot

Optional:

  • Switch to Dev branch for most up to date version of Deviot. Instructions here: https://github.com/gepd/Deviot/wiki/Setup#developer ~~As I mentioned above, this seems to break the mac install such that the Deviot menu disappears even though Package Control says it's installed.~~
  • Then see #337 for how to get the menus and syntax highlighting working again.

Hope this all helps!

Edit 2021-12-19 It seems you might be able to remove pio from PATH after doing all this. QyuriLa (in post #issuecomment-996787420) and I (in the post after) both seem to have found PATH is not required...

hijomojo avatar Sep 22 '21 02:09 hijomojo

This process also solved various issues for me similar or identical to #318, #328, #324, #326, #268

hijomojo avatar Sep 22 '21 02:09 hijomojo

It looks to me like there are three instances in the above guide that make references to instructions that are not provided.

"Install PIO using their instructions here:" 
"Install Shell commands, a.k.a Set PATH variables, for PIO. Follow PIO's instructions here:"
"Switch to Dev branch for most up to date version of Deviot. Instructions here:"

Can anyone fill in the blanks?

Thanks.

OneALab avatar Nov 25 '21 22:11 OneALab

Oh, thanks for spotting that! Looks like I missed putting the plain text in for the link markdown...the URLs where there (at least in the post editor), but not visible. I've fixed the original post now

hijomojo avatar Nov 25 '21 22:11 hijomojo

  • Switch to Dev branch for most up to date version of Deviot. Instructions here: https://github.com/gepd/Deviot/wiki/Setup#developer As I mentioned above, this seems to break the mac install such that the Deviot menu disappears even though Package Control says it's installed.

It seems that it happens on Windows (or at least my PC) too. Setting PATH variable for PIO (which is the only difference between the guide and my previous try) has no effect on this problem.

But after reinstalling Deviot following the guide a few times, suddenly my problem (#326) has been solved and I can see the board list now. (maybe setting a PATH has solved it, but I can't sure because everything works now even after restore PATH) I ended up staying in the stable release (2.2.2), though.

Anyway, thank you for good instruction!

qyurila avatar Dec 17 '21 15:12 qyurila

Very welcome!

I think you're right about the PATH stuff though....by chance I'm playing around with an RP2040 board at the moment which required installing the raspberrypi platform, and during that process I got what seemed to be an error. Long story short I tried to run pio in the Windows terminal and found I didn't even have PATH set in order for that to work... I recently updated ST3 to ST4 on this computer, expecting to need to come back to my guide here, but Deviot ran without issue following the update, and has done ever since.

Extra info maybe useful for future reference I found after I set PATH to the platformio install in my user directory, that the version there did not match the version reported by the same pio --version command in Deviot's pio terminal. This is because, for some reason, Deviot has its own copy of the ..\penv\Scripts folder in the ST packages folder in my appdata folder (i.e. C:\Users\Username\AppData\Roaming\Sublime Text 3\Packages\User\Deviot\penv). I have no idea why this is here, there isn't a complete pio install located there (e.g. platform and package files are still in C:\Users\username\.platformio), and my other computer does not have a \penv folder in either the original ST3 appdata folder, or the newer ST4 one. On that computer I installed ST4 next to ST3, whereas on this one I just updated over the top (apparently this means keeping the old folder's names untouched). Not sure what's going on, but it seems everything works for me...and if the guide still works I'm not fussed 😀

hijomojo avatar Dec 19 '21 11:12 hijomojo

@QyuriLa

It seems that it happens on Windows (or at least my PC) too. ... I ended up staying in the stable release (2.2.2), though.

I actually just ran into this issue when upgrading one of my Windows machines from stable to dev version 2.3.0.dev13, too! I've just figured out what happened and how to fix it ... basically, the dev installer fails to create a few files but you can manually replace them. Here's a link to my solution: #337

hijomojo avatar Jan 09 '22 02:01 hijomojo

OMG! after years, with this guide, I was able to get it working again. thx

gianlucaf81 avatar Jun 29 '22 21:06 gianlucaf81

This writeup refers to itself in place of other links.

siddhpant avatar Nov 04 '22 07:11 siddhpant

Also, dev branch can be installed by simply adding link to GitHub repo in package control instead of the rawgit link.

siddhpant avatar Nov 04 '22 07:11 siddhpant

This writeup refers to itself in place of other links.

Fixed that, I had linked issue 330 instead of issue 337, sorry.

Also, dev branch can be installed by simply adding link to GitHub repo in package control instead of the rawgit link.

I'll take your word on that, I just figured using the process gepd wrote would keep the info more consistent. Wouldn't say one copy and pasting one link is more simple than another.

hijomojo avatar Nov 27 '22 23:11 hijomojo