Bryan,
Did you install pysim dependencies with pip and requirements.txt, or with
the upstream ubuntu packages? If you installed via pip, I believe the
pythonic way to handle this is for dependencies to use semantic versioning,
which it appears the cmd2 developers are following. Pip is rolling, and
without a version constraint defaults to the latest release. cmd2 released
a 2.0.0 version on June 6 (
https://github.com/python-cmd2/cmd2/releases/tag/2.0.0), but the pysim
requirements.txt has no version constraint (
https://github.com/osmocom/pysim/blob/master/requirements.txt). Dependency
management is known to be "not great" (in quotes as a sarcastic
understatement : ) ) in python, and for applications with complex
dependencies there are tools like pipenv and poetry (seems to be getting
more traction now) that more rigorously isolate the environment and
dependencies present, complete with lockfiles and reproducible
environments. Since pysim is relatively simple, it is probably sufficient
in practice to just add major version constraints to the requirements.txt,
although a more rigorous from source install procedure could use poetry and
a lockfile, at the cost of needing poetry on your system instead of just
pip.
If you installed dependencies via system package manager, I am surprised
that ubuntu pulled a new version into their LTS repo, but I expect this is
not the case, although I don't have an ubuntu machine handy to verify!
Regards,
-Matt J.
On Fri, Jun 11, 2021 at 2:30 PM Harald Welte <laforge(a)osmocom.org> wrote:
Hi Bryan,
On Fri, Jun 11, 2021 at 03:16:22PM -0400, bryan coxwell wrote:
Just wanted to share an issue and a quick
workaround I found for it in
case
anyone else has the same problem. I believe a
cmd2 update is causing
pySim-shell to fail.
thanks for reporting this.
I can confirm the problem: cmd2 decided it is a good idea to rename
the use_ipython argument to include_ipy in the following commit:
https://github.com/python-cmd2/cmd2/commit/2397280cad072a27a51f5ec1cc649080…
I've filed an issue to ask how applications are supposed to deal with that:
https://github.com/python-cmd2/cmd2/issues/1120
--
- Harald Welte <laforge(a)osmocom.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch.
A6)