[22:29:50] <punkrokk> What I think is happening is possbily the CentOS python3 yum package is installing pip and then I'm using `get-pip.py` and maybe they are conflicting?
[22:37:50] <punkrokk> So maybe my python os.path is different than my get-pip installed path?
[23:20:15] <toad_polo> Or maybe `pip install -U "pip==$VERSION_NUMBER"`
[23:20:32] <toad_polo> `get-pip` is just for bootstrapping `pip` if you don't already have a version of `pip` somewhere.
[23:21:22] <stoboRlivE> use conan? only slightly being a smartass
[23:21:49] <toad_polo> If you can get `pip` from the standard library or from a system package, you can use it to install any version of `pip` you want.
[23:23:52] <punkrokk> Ok. What is the best practice?
[23:24:13] <punkrokk> I am familiar with upgrading it and pinning it.
[23:25:20] <toad_polo> I think the preferred best practice is to keep it up-to-date. It has no public API so not making library calls is also an important part of that.
[23:25:30] <punkrokk> So - I’m the case of EL8/CentOS 8 specifically - yum install py3 then python 3 -m install pip==19.1.1
[23:25:46] <punkrokk> If that’s the version I wanted?
[23:26:09] <toad_polo> Yeah. It's a bit context-dependent though.
[23:26:31] <toad_polo> LIke if this is in a temporary chroot or a docker container doing builds for you, then yeah definitely do that.
[23:27:00] <punkrokk> toad_polo: I see that calling the library isn’t recommended. But haven’t had time to research alternatives
[23:27:29] <toad_polo> If you are setting the *system* `pip` to some specific value, then I would just not do that.
[23:27:55] <toad_polo> In the sense that I usually go with the motto "the system Python is the *system*'s python".
[23:28:04] <punkrokk> This is all for use in virtual environments and rpmbuilds
[23:29:34] <toad_polo> Here's a relatively recent thread about adding an API to pip, FYI: https://discuss.python.org/t/can-we-finally-add-a-minimal-api-to-pip/2833/11
[23:29:38] <punkrokk> Or as a source for prod vents
[23:30:06] <toad_polo> punkrokk: venvs it's always fine because you're expected to manipulate them with `pip` to construct them.
[23:30:25] <toad_polo> The main issue is if you have to do `sudo pip install` or something of that nature, because `pip` and the system package manager will step on one anothers' toes.
[23:31:19] <toad_polo> So anything you need to deploy should deploy with the system package manager or into a venv or a custom install of Python (like with `pyenv`: https://github.com/pyenv/pyenv)
[23:31:55] <toad_polo> For my computers I usually use `pyenv` to set up a Python environment and then use virtualenvs on top of that, and I leave the system python for things managed by the system's package manager.
[23:32:20] <punkrokk> Yea I do something similar with pycharm and viscose