Closed robweber closed 3 years ago
Makes sense, we know it works with at least the current versions.
Should waveshare-epd stay in requirements.txt? We're not using it directly anymore.
I can pull out the waveshare libs since omni-epd
will pull them in. Either way they'll get installed so shouldn't be a big deal. I'll update the requirements file with the most current versions numbers as well of the libs we do have in there.
I also believe this will satisfy #70 when it's merged in. The -U
option should always pull in Git URLs so that fix that issue too.
One weird quirk to removing the waveshare git URL from the requirements.txt
file has surfaced. It appears that when pip install -U
is used with the -r
option it will download and rebuild dependencies from URLs, ie the git sourced libraries. This does not happen when git URLs are sourced in a setup.py
or setup.cfg
file as they are done in the omni-epd
library.
I even went so far in testing as to specify specific commits on the waveshare repo and these are ignored as well, even using -U
. Documentation I've found states that pip
will not respect git tags or commit hashes as part of a versioning scheme. This seemingly makes it impossible to ensure the waveshare libs are updated since waveshare doesn't submit to PyPi or use versioning on their repo.
Seems the only surefire way to make sure it always gets updated is to include it in the requirements.txt
file.
Might as well leave it then.
Added the waveshare repo back in to requirements.txt
. Tested it and when using pip3 install -U
it will download and rebuild the library each time now. I did use the tagged version of the omni-epd
repo as part of the URL so we can specify specific versions of that like we can with PyPi packages. It will rebuild each time as well since it's a repo URL but it will go to that specific tag.
Going to merge this in - any issues with documentation can be cleaned up later if needed. This way we can get the library re-building during updates.
When running the
install.sh
file Python lib dependencies are not updated. It appears as though when installing from a git URL using pip it will not honor version updates in a setup.py or setup.cfg file.The fix for this is to use the
-U
flag to force updates of all dependencies to the latest version. This works great but one question before merging I have is if we want to start specifying specific versions within therequirements.txt
file? Our requirements for these libraries are pretty minimal so it's unlikely updates will break things; however by specifying known working versions we are covering our bases as well. For Git URLs you can specify a tagged revision so for libs likeomni-epd
we can add@v0.2.3
as part of the URL string.Of course the downside to this is that we'll need a lot more hand-holding to the
requiements.txt
file as versions of the libraries change. Any thoughts on this?