tags: python

pip config (on Git Bash):

kaau@OCLT71159526 ~$ echo ${SHELL}
/usr/bin/bash                                                                                                ---[[red:needs Git Bash]]

kaau@OCLT71159526 ~$ pip config --global set global.index-url \
                     [[yellow:https://kianming.aau@bmo.com:cmVmdGtuOjAxOjE3ODgxMDU1NjU6Zk1aakdVQkk2UGs1YkNXbWFGNThwRDljakcw@bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/simple]]
Writing to C:\ProgramData\pip\pip.ini
kaau@OCLT71159526 ~$ ls -l "C:\ProgramData\pip\pip.ini"
-rw-r--r-- 1 kaau 1049089 180 Aug  4 14:53 'C:\ProgramData\pip\pip.ini'

kaau@OCLT71159526 ~$ cat "C:\ProgramData\pip\pip.ini"
[[blue:[global]]]
[[blue:index-url = https://kianming.aau@bmo.com:cmVmdGtuOjAxOjE3ODgxMDU1NjU6Zk1aakdVQkk2UGs1YkNXbWFGNThwRDljakcw@bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/simple]]

venv for Ansible:

kaau@OCLT71159526 ~$ which python pip
/c/Program Files/Python/Python314/python
/c/Program Files/Python/Python314/Scripts/pip

kaau@OCLT71159526 ~$ python --version
Python 3.14.2
kaau@OCLT71159526 ~$ pip --version
pip 25.3 from C:\Program Files\Python\Python314\Lib\site-packages\pip (python 3.14)

kaau@OCLT71159526 ~$ ls -ld ${HOME}/myproj/ansible
drwxr-xr-x 1 kaau 1049089 0 Aug  4 14:29 /c/Users/kaau/myproj/ansible
kaau@OCLT71159526 ~$ ls -l ${HOME}/myproj/ansible
total 5
drwxr-xr-x 1 kaau 1049089   0 Aug  4 14:29 Include
drwxr-xr-x 1 kaau 1049089   0 Aug  4 14:29 Lib
-rw-r--r-- 1 kaau 1049089 250 Aug  4 14:29 pyvenv.cfg
drwxr-xr-x 1 kaau 1049089   0 Aug  4 14:29 Scripts

#
# activate venv:
#
kaau@OCLT71159526 ~$ source ${HOME}/myproj/ansible/Scripts/activate
(ansible) kaau@OCLT71159526 ~$ which python pip
/c/Users/kaau/myproj/ansible/Scripts/python
/c/Users/kaau/myproj/ansible/Scripts/pip

kaau@OCLT71159526 ~$ source ${HOME}/myproj/ansible/Scripts/activate
(ansible) kaau@OCLT71159526 ~$ python -m pip install --upgrade pip setuptools wheel
Looking in indexes: https://kianming.aau%40bmo.com:****@bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/simple
Requirement already satisfied: pip in c:\users\kaau\myproj\ansible\lib\site-packages (25.3)
Collecting pip
  Using cached https://bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/packages/packages/62/36/a3aed958d60531cb442b7ab4596cda7b3621cfb916f8ae1d6769795c7dc1/pip-26.2-py3-none-any.whl (1.8 MB)
Collecting setuptools
  Downloading https://bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/packages/packages/5d/40/e1e72872c6354b306daef1703549e8e83b4d43cfea356311bf722a043752/setuptools-83.0.0-py3-none-any.whl (1.0 MB)
     [[green:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB]] [[red:3.2 MB/s]]  [[blue:0:00:00]]
Collecting wheel
  Downloading https://bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/packages/packages/87/1b/9e33c09813d65e248f7f773119148a612516a4bea93e9c6f545f78455b7c/wheel-0.47.0-py3-none-any.whl (32 kB)
Collecting packaging>=24.0 (from wheel)
  Using cached https://bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/packages/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl (100 kB)
Installing collected packages: setuptools, pip, packaging, wheel
  Attempting uninstall: pip
    Found existing installation: pip 25.3
    Uninstalling pip-25.3:
      Successfully uninstalled pip-25.3
Successfully installed packaging-26.2 pip-26.2 setuptools-83.0.0 wheel-0.47.0

#
# install ansible-core:
#
(ansible) kaau@OCLT71159526 ~$ python -m pip install ansible-core
Looking in indexes: https://kianming.aau%40bmo.com:****@bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/simple
Collecting ansible-core
  Using cached ansible_core-2.21.2-py3-none-any.whl (2.5 MB)
Collecting jinja2>=3.1.0 (from ansible-core)
  Using cached jinja2-3.1.6-py3-none-any.whl (134 kB)
Collecting PyYAML>=5.1 (from ansible-core)
  Using cached pyyaml-6.0.3-cp314-cp314-win_amd64.whl (156 kB)
Collecting cryptography (from ansible-core)
  Downloading cryptography-50.0.0-cp311-abi3-win_amd64.whl (3.8 MB)
     [[green:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB]] [[red:4.4 MB/s]]  [[blue:0:00:00]]
Requirement already satisfied: packaging in .\myproj\ansible\Lib\site-packages (from ansible-core) (26.2)
Collecting resolvelib<2.0.0,>=0.8.0 (from ansible-core)
  Using cached resolvelib-1.2.1-py3-none-any.whl (18 kB)
Collecting MarkupSafe>=2.0 (from jinja2>=3.1.0->ansible-core)
  Using cached markupsafe-3.0.3-cp314-cp314-win_amd64.whl (15 kB)
Collecting cffi>=2.0.0 (from cryptography->ansible-core)
  Using cached cffi-2.1.0-cp314-cp314-win_amd64.whl (187 kB)
Collecting pycparser (from cffi>=2.0.0->cryptography->ansible-core)
  Using cached pycparser-3.0-py3-none-any.whl (48 kB)
Installing collected packages: resolvelib, PyYAML, pycparser, MarkupSafe, jinja2, cffi, cryptography, ansible-core
Successfully installed MarkupSafe-3.0.3 PyYAML-6.0.3 ansible-core-2.21.2 cffi-2.1.0 cryptography-50.0.0 jinja2-3.1.6 pycparser-3.0 resolvelib-1.2.1

#
# install ansible-lint:
#
(ansible) kaau@OCLT71159526 ~$ python -m pip install ansible-lint
Looking in indexes: https://kianming.aau%40bmo.com:****@bmostaging.jfrog.io/artifactory/api/pypi/pypi-virtual/simple
Collecting ansible-lint
  Downloading ansible_lint-26.6.0-py3-none-any.whl (341 kB)
Collecting ansible-compat>=26.3.0 (from ansible-lint)
  Downloading ansible_compat-26.6.0-py3-none-any.whl (29 kB)
Requirement already satisfied: ansible-core>=2.16.14 in .\myproj\ansible\Lib\site-packages (from ansible-lint) (2.21.2)
Collecting black>=24.3.0 (from ansible-lint)
  Downloading black-26.5.1-cp314-cp314-win_amd64.whl (1.5 MB)
     [[green:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB]] [[red:4.4 MB/s]]  [[blue:0:00:00]]
Requirement already satisfied: cffi>=1.15.1 in .\myproj\ansible\Lib\site-packages (from ansible-lint) (2.1.0)
Requirement already satisfied: cryptography>=37 in .\myproj\ansible\Lib\site-packages (from ansible-lint) (50.0.0)
Collecting distro>=1.9.0 (from ansible-lint)
  Downloading distro-1.9.0-py3-none-any.whl (20 kB)
Collecting filelock>=3.8.2 (from ansible-lint)
  Downloading filelock-3.32.2-py3-none-any.whl (98 kB)
Collecting jsonschema>=4.10.0 (from ansible-lint)
  Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB)
Requirement already satisfied: packaging>=22.0 in .\myproj\ansible\Lib\site-packages (from ansible-lint) (26.2)
Collecting pathspec<1.2.0,>=1.0.3 (from ansible-lint)
  Downloading pathspec-1.1.1-py3-none-any.whl (57 kB)
Requirement already satisfied: pyyaml>=6.0.1 in .\myproj\ansible\Lib\site-packages (from ansible-lint) (6.0.3)
Collecting referencing>=0.36.2 (from ansible-lint)
  Downloading referencing-0.37.0-py3-none-any.whl (26 kB)
Collecting ruamel-yaml>=0.18.11 (from ansible-lint)
  Downloading ruamel_yaml-0.19.1-py3-none-any.whl (118 kB)
Collecting subprocess-tee>=0.4.1 (from ansible-lint)
  Downloading subprocess_tee-0.4.2-py3-none-any.whl (5.2 kB)
Collecting wcmatch>=8.5.0 (from ansible-lint)
  Downloading wcmatch-11.0-py3-none-any.whl (42 kB)
Collecting yamllint>=1.38.0 (from ansible-lint)
  Downloading yamllint-1.38.0-py3-none-any.whl (68 kB)
Requirement already satisfied: jinja2>=3.1.0 in .\myproj\ansible\Lib\site-packages (from ansible-core>=2.16.14->ansible-lint) (3.1.6)
Requirement already satisfied: resolvelib<2.0.0,>=0.8.0 in .\myproj\ansible\Lib\site-packages (from ansible-core>=2.16.14->ansible-lint) (1.2.1)
Collecting click>=8.0.0 (from black>=24.3.0->ansible-lint)
  Downloading click-8.4.2-py3-none-any.whl (119 kB)
Collecting mypy-extensions>=0.4.3 (from black>=24.3.0->ansible-lint)
  Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)
Collecting platformdirs>=2 (from black>=24.3.0->ansible-lint)
  Downloading platformdirs-4.11.0-py3-none-any.whl (23 kB)
Collecting pytokens~=0.4.0 (from black>=24.3.0->ansible-lint)
  Downloading pytokens-0.4.1-cp314-cp314-win_amd64.whl (104 kB)
Requirement already satisfied: pycparser in .\myproj\ansible\Lib\site-packages (from cffi>=1.15.1->ansible-lint) (3.0)
Collecting colorama (from click>=8.0.0->black>=24.3.0->ansible-lint)
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Requirement already satisfied: MarkupSafe>=2.0 in .\myproj\ansible\Lib\site-packages (from jinja2>=3.1.0->ansible-core>=2.16.14->ansible-lint) (3.0.3)
Collecting attrs>=22.2.0 (from jsonschema>=4.10.0->ansible-lint)
  Downloading attrs-26.1.0-py3-none-any.whl (67 kB)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=4.10.0->ansible-lint)
  Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)
Collecting rpds-py>=0.25.0 (from jsonschema>=4.10.0->ansible-lint)
  Downloading rpds_py-2026.6.3-cp314-cp314-win_amd64.whl (220 kB)
Collecting bracex>=3.0 (from wcmatch>=8.5.0->ansible-lint)
  Downloading bracex-3.0.1-py3-none-any.whl (11 kB)
Installing collected packages: subprocess-tee, ruamel-yaml, rpds-py, pytokens, platformdirs, pathspec, mypy-extensions, filelock, distro, colorama, bracex, 
attrs, yamllint, wcmatch, referencing, click, jsonschema-specifications, black, jsonschema, ansible-compat, ansible-lint
Successfully installed ansible-compat-26.6.0 ansible-lint-26.6.0 attrs-26.1.0 black-26.5.1 bracex-3.0.1 click-8.4.2 colorama-0.4.6 distro-1.9.0 
filelock-3.32.2 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 mypy-extensions-1.1.0 pathspec-1.1.1 platformdirs-4.11.0 pytokens-0.4.1 
referencing-0.37.0 rpds-py-2026.6.3 ruamel-yaml-0.19.1 subprocess-tee-0.4.2 wcmatch-11.0 yamllint-1.38.0

(ansible) kaau@OCLT71159526 ~$ which ansible-lint
/c/Users/kaau/myproj/ansible/Scripts/ansible-lint

(ansible) kaau@OCLT71159526 ~$ deactivate