Python for z/OS のインストール

# はじめに
最近ではz/OS上でも様々なOSSが稼働するようになってきています。Pythonもその1つで、z/OS版のIBM Open Enterprise SDK for Pythonというものが提供されており無償で利用できるのでインストールしてみました。
z/OS版のPythonはUSS上で稼働します。pax形式のインストーラーがWebからダウンロードできるので、インターネットに接続できるPC上に一旦落とし、インストール先のUSSにアップして解凍する、という流れで割とサクッとインストールできます。
以下にインストール作業のログを残しておきます。

参考: [IBM Open Enterprise SDK for Python 3.11 - Installing and configuring the pax format](https://www.ibm.com/docs/en/python-zos/3.11?topic=configuration-installing-configuring-pax-format)


# Pythonのインストール

## インストーラーの入手

以下のサイトの「Download pax edition」をクリックします。
https://www.ibm.com/products/open-enterprise-python-zos
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/be288b45-41fe-96d0-981b-c0a4a409fed2.png)

IBM IDでログインします。(IBM IDは無償で作成できます)

ログインすると以下のような画面に遷移するので、バージョンを選択して「Download Now」をクリックするとインストーラーのファイル(HAMB3B0.nonsmpe.pax.Z)をダウンロードすることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/661af9d8-9abc-ab7d-1278-3bd74eec1e16.png)

## ファイルシステムの準備

USS上にファイルシステムを準備しておきます。
paxファイルをアップする先と、Pythonの製品モジュールの展開先の2つ用意しとくとよいです。
V3.11はpaxファイルは約150MB、展開後のサイズとしては約400MB程度です。

少し余裕をみて展開先のファイルシステム(zFS)としては500MBで作成します。

```jcl:ファイルシステム作成JCL例
//ZFSJOB  JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//***************************************************************
//CREATE  EXEC PGM=IDCAMS,REGION=64M,COND=(0,LT)
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  DEFINE -
       CLUSTER -
         ( -
             NAME(xxx.PY311.ZFS) -
             LINEAR -
             MEGABYTES(500 10) -
             SHAREOPTIONS(3) -
             VOLUMES(xxx) -
         )
/*
//*
// SET ZFSDSN='xxx.PY311.ZFS'
//FORMAT   EXEC PGM=IOEAGFMT,REGION=64M,COND=(0,LT),
// PARM='-aggregate &ZFSDSN -compat -version5'
//SYSPRINT DD SYSOUT=*
//STDOUT   DD SYSOUT=*
//STDERR   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//CEEDUMP  DD SYSOUT=*
//*
```

展開先は"/usr/lpp/IBM/cyp/v3r11"となるので、このディレクトリを作成してマウントします。

```jcl:マウントJCL例
//ZFSJOB  JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//***************************************************************
//*
//MOUNT    EXEC PGM=IKJEFT01,REGION=64M,COND=(0,LT)
//SYSTSPRT DD   SYSOUT=*
//SYSTSIN  DD   *
  MOUNT +
    FILESYSTEM('xxx.PY311.ZFS') +
    MOUNTPOINT('/usr/lpp/IBM/cyp/v3r11') +
    TYPE(ZFS) +
    MODE(RDWR)
/*
```

USS上でマウントされたことを確認

```
# df -k | grep PY
/V1R11/usr/lpp/IBM/cyp/v3r11 (xxx.PY311.ZFS)         507351/512640  4294967292 Available
```

IPL後に自動マウントさせる場合はBPXPRMxxにも設定を追加しておきます。

```xxx:BPXPRMxx設定例
MOUNT FILESYSTEM('xxx.PY311.ZFS')                             
      MOUNTPOINT('/usr/lpp/IBM/cyp/v3r11')                            
      TYPE(ZFS) MODE(RDWR)                                      
```

## paxファイルのアップロード

FTPでバイナリーモードでpaxファイルを適当なディレクトリにアップロードします。
ここでは`/work/inst/Python311`とします。

USS上にアップロードされたことを確認

```
# cd /work/inst/Python311
# ls -la
total 300720
drwxrwxrwx   2 0        CICS        8192 Feb  7 17:15 .
drwxr-xr-x   8 0        CICS        8192 Feb  7 17:14 ..
-rw-r-----   1 0        CICS     153861120 Feb  7 17:15 HAMB3B0.nonsmpe.pax.Z
```

## paxファイルの解凍

以下のコマンドでpaxファイルを解凍します。
※コマンドを実行したカレントディレクトリ下に相対パスで`./usr/lpp/IBM/cyp/v3r11'に解凍されるので、ルートディレクトリに移動してから実行します。

```
# cd /
# pax -p p -r -f /work/inst/Python311/HAMB3B0.nonsmpe.pax.Z
```

これで、/usr/lpp/IBM/cyp/v3r11以下にPythonのモジュールが展開されます。

<details><summary><font color="blue">参考: /usr/lpp/IBM/cyp/v3r11以下に展開されたファイル</font></summary><div>

```
# cd /usr/lpp/IBM/cyp/v3r11
# du -k .
       197 ./pyz/bin
      2368 ./pyz/lib/python3.11/asyncio/__pycache__
      3016 ./pyz/lib/python3.11/asyncio
       288 ./pyz/lib/python3.11/collections/__pycache__
       360 ./pyz/lib/python3.11/collections
       304 ./pyz/lib/python3.11/concurrent/futures/__pycache__
       400 ./pyz/lib/python3.11/concurrent/futures
        32 ./pyz/lib/python3.11/concurrent/__pycache__
       441 ./pyz/lib/python3.11/concurrent
       104 ./pyz/lib/python3.11/ctypes/macholib/__pycache__
       168 ./pyz/lib/python3.11/ctypes/macholib
      2096 ./pyz/lib/python3.11/ctypes/test/__pycache__
      2616 ./pyz/lib/python3.11/ctypes/test
       288 ./pyz/lib/python3.11/ctypes/__pycache__
      3152 ./pyz/lib/python3.11/ctypes
       176 ./pyz/lib/python3.11/curses/__pycache__
       224 ./pyz/lib/python3.11/curses
       128 ./pyz/lib/python3.11/dbm/__pycache__
       176 ./pyz/lib/python3.11/dbm
       864 ./pyz/lib/python3.11/distutils/command/__pycache__
      1168 ./pyz/lib/python3.11/distutils/command
      1768 ./pyz/lib/python3.11/distutils/tests/__pycache__
      2241 ./pyz/lib/python3.11/distutils/tests
      1592 ./pyz/lib/python3.11/distutils/__pycache__
      5537 ./pyz/lib/python3.11/distutils
       224 ./pyz/lib/python3.11/email/mime/__pycache__
       296 ./pyz/lib/python3.11/email/mime
      1552 ./pyz/lib/python3.11/email/__pycache__
      2328 ./pyz/lib/python3.11/email
      3784 ./pyz/lib/python3.11/encodings/__pycache__
      6000 ./pyz/lib/python3.11/encodings
      3240 ./pyz/lib/python3.11/ensurepip/_bundled
       104 ./pyz/lib/python3.11/ensurepip/__pycache__
      3384 ./pyz/lib/python3.11/ensurepip
       440 ./pyz/lib/python3.11/html/__pycache__
       568 ./pyz/lib/python3.11/html
       752 ./pyz/lib/python3.11/http/__pycache__
       984 ./pyz/lib/python3.11/http
       256 ./pyz/lib/python3.11/importlib/resources/__pycache__
       328 ./pyz/lib/python3.11/importlib/resources
       328 ./pyz/lib/python3.11/importlib/metadata/__pycache__
       416 ./pyz/lib/python3.11/importlib/metadata
       624 ./pyz/lib/python3.11/importlib/__pycache__
      1576 ./pyz/lib/python3.11/importlib
       208 ./pyz/lib/python3.11/json/__pycache__
       280 ./pyz/lib/python3.11/json
      1352 ./pyz/lib/python3.11/lib2to3/fixes/__pycache__
      1793 ./pyz/lib/python3.11/lib2to3/fixes
       376 ./pyz/lib/python3.11/lib2to3/pgen2/__pycache__
       488 ./pyz/lib/python3.11/lib2to3/pgen2
        48 ./pyz/lib/python3.11/lib2to3/tests/data/fixers/myfixes
        73 ./pyz/lib/python3.11/lib2to3/tests/data/fixers
       268 ./pyz/lib/python3.11/lib2to3/tests/data
      1304 ./pyz/lib/python3.11/lib2to3/tests/__pycache__
      1844 ./pyz/lib/python3.11/lib2to3/tests
       592 ./pyz/lib/python3.11/lib2to3/__pycache__
      4933 ./pyz/lib/python3.11/lib2to3
       664 ./pyz/lib/python3.11/logging/__pycache__
       864 ./pyz/lib/python3.11/logging
        56 ./pyz/lib/python3.11/multiprocessing/dummy/__pycache__
        80 ./pyz/lib/python3.11/multiprocessing/dummy
      1464 ./pyz/lib/python3.11/multiprocessing/__pycache__
      1904 ./pyz/lib/python3.11/multiprocessing
      1448 ./pyz/lib/python3.11/pydoc_data/__pycache__
      2216 ./pyz/lib/python3.11/pydoc_data
       384 ./pyz/lib/python3.11/re/__pycache__
       504 ./pyz/lib/python3.11/re
        32 ./pyz/lib/python3.11/site-packages/_distutils_hack/__pycache__
        49 ./pyz/lib/python3.11/site-packages/_distutils_hack
        96 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__
       176 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources
        40 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/text/__pycache__
        64 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/text
        56 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__pycache__
       152 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco
       224 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__pycache__
       408 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools
       184 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__
       336 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/packaging
        40 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/diagram/__pycache__
        72 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/diagram
       504 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__
       976 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing
        64 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor/__pycache__
      2168 ./pyz/lib/python3.11/site-packages/pkg_resources/_vendor
        16 ./pyz/lib/python3.11/site-packages/pkg_resources/extern/__pycache__
        32 ./pyz/lib/python3.11/site-packages/pkg_resources/extern
       176 ./pyz/lib/python3.11/site-packages/pkg_resources/__pycache__
      2504 ./pyz/lib/python3.11/site-packages/pkg_resources
       320 ./pyz/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__
       632 ./pyz/lib/python3.11/site-packages/setuptools/_distutils/command
       608 ./pyz/lib/python3.11/site-packages/setuptools/_distutils/__pycache__
      1800 ./pyz/lib/python3.11/site-packages/setuptools/_distutils
       128 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__
       224 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata
        96 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__
       176 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources
        40 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/jaraco/text/__pycache__
        64 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/jaraco/text
        56 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__pycache__
       152 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/jaraco
       200 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__pycache__
       360 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/more_itertools
       184 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__
       336 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/packaging
        40 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/diagram/__pycache__
        72 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/diagram
       504 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__
       976 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/pyparsing
        64 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__
       120 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/tomli
       176 ./pyz/lib/python3.11/site-packages/setuptools/_vendor/__pycache__
      2656 ./pyz/lib/python3.11/site-packages/setuptools/_vendor
       504 ./pyz/lib/python3.11/site-packages/setuptools/command/__pycache__
       896 ./pyz/lib/python3.11/site-packages/setuptools/command
       272 ./pyz/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__
       608 ./pyz/lib/python3.11/site-packages/setuptools/config/_validate_pyproject
       144 ./pyz/lib/python3.11/site-packages/setuptools/config/__pycache__
       856 ./pyz/lib/python3.11/site-packages/setuptools/config
        16 ./pyz/lib/python3.11/site-packages/setuptools/extern/__pycache__
        32 ./pyz/lib/python3.11/site-packages/setuptools/extern
       512 ./pyz/lib/python3.11/site-packages/setuptools/__pycache__
      7904 ./pyz/lib/python3.11/site-packages/setuptools
        82 ./pyz/lib/python3.11/site-packages/setuptools-65.5.0.dist-info
       192 ./pyz/lib/python3.11/site-packages/pip/_internal/cli/__pycache__
       344 ./pyz/lib/python3.11/site-packages/pip/_internal/cli
       248 ./pyz/lib/python3.11/site-packages/pip/_internal/commands/__pycache__
       440 ./pyz/lib/python3.11/site-packages/pip/_internal/commands
        56 ./pyz/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__
       104 ./pyz/lib/python3.11/site-packages/pip/_internal/distributions
       112 ./pyz/lib/python3.11/site-packages/pip/_internal/index/__pycache__
       193 ./pyz/lib/python3.11/site-packages/pip/_internal/index
        64 ./pyz/lib/python3.11/site-packages/pip/_internal/locations/__pycache__
       120 ./pyz/lib/python3.11/site-packages/pip/_internal/locations
        56 ./pyz/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__
        96 ./pyz/lib/python3.11/site-packages/pip/_internal/metadata/importlib
        88 ./pyz/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__
       256 ./pyz/lib/python3.11/site-packages/pip/_internal/metadata
       136 ./pyz/lib/python3.11/site-packages/pip/_internal/models/__pycache__
       256 ./pyz/lib/python3.11/site-packages/pip/_internal/models
       112 ./pyz/lib/python3.11/site-packages/pip/_internal/network/__pycache__
       201 ./pyz/lib/python3.11/site-packages/pip/_internal/network
        72 ./pyz/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__
       136 ./pyz/lib/python3.11/site-packages/pip/_internal/operations/build
        72 ./pyz/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__
       129 ./pyz/lib/python3.11/site-packages/pip/_internal/operations/install
        72 ./pyz/lib/python3.11/site-packages/pip/_internal/operations/__pycache__
       401 ./pyz/lib/python3.11/site-packages/pip/_internal/operations
       152 ./pyz/lib/python3.11/site-packages/pip/_internal/req/__pycache__
       288 ./pyz/lib/python3.11/site-packages/pip/_internal/req
        40 ./pyz/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__pycache__
        72 ./pyz/lib/python3.11/site-packages/pip/_internal/resolution/legacy
       160 ./pyz/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__
       288 ./pyz/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib
        24 ./pyz/lib/python3.11/site-packages/pip/_internal/resolution/__pycache__
       400 ./pyz/lib/python3.11/site-packages/pip/_internal/resolution
       312 ./pyz/lib/python3.11/site-packages/pip/_internal/utils/__pycache__
       576 ./pyz/lib/python3.11/site-packages/pip/_internal/utils
       112 ./pyz/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__
       208 ./pyz/lib/python3.11/site-packages/pip/_internal/vcs
       160 ./pyz/lib/python3.11/site-packages/pip/_internal/__pycache__
      4075 ./pyz/lib/python3.11/site-packages/pip/_internal
        40 ./pyz/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__
        72 ./pyz/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches
       112 ./pyz/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__
       288 ./pyz/lib/python3.11/site-packages/pip/_vendor/cachecontrol
        32 ./pyz/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__
       352 ./pyz/lib/python3.11/site-packages/pip/_vendor/certifi
        24 ./pyz/lib/python3.11/site-packages/pip/_vendor/chardet/cli/__pycache__
        40 ./pyz/lib/python3.11/site-packages/pip/_vendor/chardet/cli
        32 ./pyz/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/__pycache__
        56 ./pyz/lib/python3.11/site-packages/pip/_vendor/chardet/metadata
      1208 ./pyz/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__
      2608 ./pyz/lib/python3.11/site-packages/pip/_vendor/chardet
        64 ./pyz/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__
       128 ./pyz/lib/python3.11/site-packages/pip/_vendor/colorama
       608 ./pyz/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__
      1872 ./pyz/lib/python3.11/site-packages/pip/_vendor/distlib
        80 ./pyz/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__
       152 ./pyz/lib/python3.11/site-packages/pip/_vendor/distro
       280 ./pyz/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__
       601 ./pyz/lib/python3.11/site-packages/pip/_vendor/idna
        88 ./pyz/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__
       160 ./pyz/lib/python3.11/site-packages/pip/_vendor/msgpack
       184 ./pyz/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__
       336 ./pyz/lib/python3.11/site-packages/pip/_vendor/packaging
        40 ./pyz/lib/python3.11/site-packages/pip/_vendor/pep517/in_process/__pycache__
        72 ./pyz/lib/python3.11/site-packages/pip/_vendor/pep517/in_process
       104 ./pyz/lib/python3.11/site-packages/pip/_vendor/pep517/__pycache__
       264 ./pyz/lib/python3.11/site-packages/pip/_vendor/pep517
       184 ./pyz/lib/python3.11/site-packages/pip/_vendor/pkg_resources/__pycache__
       320 ./pyz/lib/python3.11/site-packages/pip/_vendor/pkg_resources
        96 ./pyz/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__
       176 ./pyz/lib/python3.11/site-packages/pip/_vendor/platformdirs
        48 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/filters/__pycache__
        96 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/filters
       224 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__
       416 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/formatters
       136 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__pycache__
       296 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/lexers
        16 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/styles/__pycache__
        32 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/styles
       240 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__
      1320 ./pyz/lib/python3.11/site-packages/pip/_vendor/pygments
        40 ./pyz/lib/python3.11/site-packages/pip/_vendor/pyparsing/diagram/__pycache__
        72 ./pyz/lib/python3.11/site-packages/pip/_vendor/pyparsing/diagram
       504 ./pyz/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__
       976 ./pyz/lib/python3.11/site-packages/pip/_vendor/pyparsing
       304 ./pyz/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__
       584 ./pyz/lib/python3.11/site-packages/pip/_vendor/requests
        24 ./pyz/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/__pycache__
        40 ./pyz/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat
        80 ./pyz/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__
       184 ./pyz/lib/python3.11/site-packages/pip/_vendor/resolvelib
      1504 ./pyz/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__
      2760 ./pyz/lib/python3.11/site-packages/pip/_vendor/rich
       136 ./pyz/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__
       248 ./pyz/lib/python3.11/site-packages/pip/_vendor/tenacity
        64 ./pyz/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__
       120 ./pyz/lib/python3.11/site-packages/pip/_vendor/tomli
        56 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__
       104 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport
       128 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__
       344 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib
        24 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__
        40 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports
        64 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/__pycache__
       152 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/packages
       176 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__
       336 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/util
       224 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__
      1264 ./pyz/lib/python3.11/site-packages/pip/_vendor/urllib3
        64 ./pyz/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__
       128 ./pyz/lib/python3.11/site-packages/pip/_vendor/webencodings
       168 ./pyz/lib/python3.11/site-packages/pip/_vendor/__pycache__
     15161 ./pyz/lib/python3.11/site-packages/pip/_vendor
        32 ./pyz/lib/python3.11/site-packages/pip/__pycache__
     19308 ./pyz/lib/python3.11/site-packages/pip
       130 ./pyz/lib/python3.11/site-packages/pip-22.3.dist-info
        40 ./pyz/lib/python3.11/site-packages/numpy/_pyinstaller/__pycache__
        72 ./pyz/lib/python3.11/site-packages/numpy/_pyinstaller
       120 ./pyz/lib/python3.11/site-packages/numpy/_typing/__pycache__
       256 ./pyz/lib/python3.11/site-packages/numpy/_typing
       104 ./pyz/lib/python3.11/site-packages/numpy/array_api/tests/__pycache__
       184 ./pyz/lib/python3.11/site-packages/numpy/array_api/tests
       240 ./pyz/lib/python3.11/site-packages/numpy/array_api/__pycache__
       656 ./pyz/lib/python3.11/site-packages/numpy/array_api
        24 ./pyz/lib/python3.11/site-packages/numpy/compat/tests/__pycache__
        40 ./pyz/lib/python3.11/site-packages/numpy/compat/tests
        72 ./pyz/lib/python3.11/site-packages/numpy/compat/__pycache__
       168 ./pyz/lib/python3.11/site-packages/numpy/compat
       104 ./pyz/lib/python3.11/site-packages/numpy/core/include/numpy/libdivide
        32 ./pyz/lib/python3.11/site-packages/numpy/core/include/numpy/random
       640 ./pyz/lib/python3.11/site-packages/numpy/core/include/numpy
       648 ./pyz/lib/python3.11/site-packages/numpy/core/include
        24 ./pyz/lib/python3.11/site-packages/numpy/core/lib/npy-pkg-config
       168 ./pyz/lib/python3.11/site-packages/numpy/core/lib
      1272 ./pyz/lib/python3.11/site-packages/numpy/core/tests/data
        16 ./pyz/lib/python3.11/site-packages/numpy/core/tests/examples/cython/__pycache__
        40 ./pyz/lib/python3.11/site-packages/numpy/core/tests/examples/cython
        16 ./pyz/lib/python3.11/site-packages/numpy/core/tests/examples/limited_api/__pycache__
        40 ./pyz/lib/python3.11/site-packages/numpy/core/tests/examples/limited_api
        88 ./pyz/lib/python3.11/site-packages/numpy/core/tests/examples
      3816 ./pyz/lib/python3.11/site-packages/numpy/core/tests/__pycache__
      7344 ./pyz/lib/python3.11/site-packages/numpy/core/tests
      1280 ./pyz/lib/python3.11/site-packages/numpy/core/__pycache__
     21792 ./pyz/lib/python3.11/site-packages/numpy/core
       329 ./pyz/lib/python3.11/site-packages/numpy/distutils/checks
       240 ./pyz/lib/python3.11/site-packages/numpy/distutils/command/__pycache__
       472 ./pyz/lib/python3.11/site-packages/numpy/distutils/command
       240 ./pyz/lib/python3.11/site-packages/numpy/distutils/fcompiler/__pycache__
       456 ./pyz/lib/python3.11/site-packages/numpy/distutils/fcompiler
        16 ./pyz/lib/python3.11/site-packages/numpy/distutils/mingw
       200 ./pyz/lib/python3.11/site-packages/numpy/distutils/tests/__pycache__
       360 ./pyz/lib/python3.11/site-packages/numpy/distutils/tests
       768 ./pyz/lib/python3.11/site-packages/numpy/distutils/__pycache__
      3025 ./pyz/lib/python3.11/site-packages/numpy/distutils
        40 ./pyz/lib/python3.11/site-packages/numpy/doc/__pycache__
        80 ./pyz/lib/python3.11/site-packages/numpy/doc
        56 ./pyz/lib/python3.11/site-packages/numpy/f2py/src
        24 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/abstract_interface
        16 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/array_from_pyobj
        41 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/assumed_shape
        16 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/block_docstring
        32 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/callback
        17 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/cli
        16 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/common
        72 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/crackfortran
        24 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/f2cmap
        16 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/kind
        32 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/mixed
        24 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/module_data
        16 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/negative_bounds
        48 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/parameter
        16 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/quoted_character
        16 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/regression
        24 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/return_character
        24 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/return_complex
        24 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/return_integer
        24 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/return_logical
        24 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/return_real
        16 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/size
        32 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src/string
       602 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/src
       344 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests/__pycache__
      1226 ./pyz/lib/python3.11/site-packages/numpy/f2py/tests
       632 ./pyz/lib/python3.11/site-packages/numpy/f2py/__pycache__
      2451 ./pyz/lib/python3.11/site-packages/numpy/f2py
        64 ./pyz/lib/python3.11/site-packages/numpy/fft/tests/__pycache__
        96 ./pyz/lib/python3.11/site-packages/numpy/fft/tests
       104 ./pyz/lib/python3.11/site-packages/numpy/fft/__pycache__
       512 ./pyz/lib/python3.11/site-packages/numpy/fft
        56 ./pyz/lib/python3.11/site-packages/numpy/lib/tests/data
      1440 ./pyz/lib/python3.11/site-packages/numpy/lib/tests/__pycache__
      2336 ./pyz/lib/python3.11/site-packages/numpy/lib/tests
      1120 ./pyz/lib/python3.11/site-packages/numpy/lib/__pycache__
      4592 ./pyz/lib/python3.11/site-packages/numpy/lib
       200 ./pyz/lib/python3.11/site-packages/numpy/linalg/tests/__pycache__
       312 ./pyz/lib/python3.11/site-packages/numpy/linalg/tests
       136 ./pyz/lib/python3.11/site-packages/numpy/linalg/__pycache__
     12224 ./pyz/lib/python3.11/site-packages/numpy/linalg
       712 ./pyz/lib/python3.11/site-packages/numpy/ma/tests/__pycache__
      1104 ./pyz/lib/python3.11/site-packages/numpy/ma/tests
       520 ./pyz/lib/python3.11/site-packages/numpy/ma/__pycache__
      2096 ./pyz/lib/python3.11/site-packages/numpy/ma
       136 ./pyz/lib/python3.11/site-packages/numpy/matrixlib/tests/__pycache__
       224 ./pyz/lib/python3.11/site-packages/numpy/matrixlib/tests
        64 ./pyz/lib/python3.11/site-packages/numpy/matrixlib/__pycache__
       360 ./pyz/lib/python3.11/site-packages/numpy/matrixlib
       344 ./pyz/lib/python3.11/site-packages/numpy/polynomial/tests/__pycache__
       544 ./pyz/lib/python3.11/site-packages/numpy/polynomial/tests
       504 ./pyz/lib/python3.11/site-packages/numpy/polynomial/__pycache__
      1544 ./pyz/lib/python3.11/site-packages/numpy/polynomial
        24 ./pyz/lib/python3.11/site-packages/numpy/random/_examples/cffi/__pycache__
        48 ./pyz/lib/python3.11/site-packages/numpy/random/_examples/cffi
        16 ./pyz/lib/python3.11/site-packages/numpy/random/_examples/cython/__pycache__
        48 ./pyz/lib/python3.11/site-packages/numpy/random/_examples/cython
        24 ./pyz/lib/python3.11/site-packages/numpy/random/_examples/numba/__pycache__
        48 ./pyz/lib/python3.11/site-packages/numpy/random/_examples/numba
       152 ./pyz/lib/python3.11/site-packages/numpy/random/_examples
       112 ./pyz/lib/python3.11/site-packages/numpy/random/lib
        16 ./pyz/lib/python3.11/site-packages/numpy/random/tests/data/__pycache__
       248 ./pyz/lib/python3.11/site-packages/numpy/random/tests/data
       648 ./pyz/lib/python3.11/site-packages/numpy/random/tests/__pycache__
      1288 ./pyz/lib/python3.11/site-packages/numpy/random/tests
        32 ./pyz/lib/python3.11/site-packages/numpy/random/__pycache__
     10000 ./pyz/lib/python3.11/site-packages/numpy/random
       232 ./pyz/lib/python3.11/site-packages/numpy/testing/_private/__pycache__
       432 ./pyz/lib/python3.11/site-packages/numpy/testing/_private
       152 ./pyz/lib/python3.11/site-packages/numpy/testing/tests/__pycache__
       224 ./pyz/lib/python3.11/site-packages/numpy/testing/tests
        48 ./pyz/lib/python3.11/site-packages/numpy/testing/__pycache__
       752 ./pyz/lib/python3.11/site-packages/numpy/testing
       112 ./pyz/lib/python3.11/site-packages/numpy/tests/__pycache__
       200 ./pyz/lib/python3.11/site-packages/numpy/tests
       368 ./pyz/lib/python3.11/site-packages/numpy/typing/tests/data/fail
        16 ./pyz/lib/python3.11/site-packages/numpy/typing/tests/data/misc
       392 ./pyz/lib/python3.11/site-packages/numpy/typing/tests/data/pass/__pycache__
       704 ./pyz/lib/python3.11/site-packages/numpy/typing/tests/data/pass
       624 ./pyz/lib/python3.11/site-packages/numpy/typing/tests/data/reveal
      1728 ./pyz/lib/python3.11/site-packages/numpy/typing/tests/data
        72 ./pyz/lib/python3.11/site-packages/numpy/typing/tests/__pycache__
      1848 ./pyz/lib/python3.11/site-packages/numpy/typing/tests
        40 ./pyz/lib/python3.11/site-packages/numpy/typing/__pycache__
      1920 ./pyz/lib/python3.11/site-packages/numpy/typing
       136 ./pyz/lib/python3.11/site-packages/numpy/__pycache__
     63236 ./pyz/lib/python3.11/site-packages/numpy
       178 ./pyz/lib/python3.11/site-packages/numpy-1.23.4.dist-info
       240 ./pyz/lib/python3.11/site-packages/pycparser/ply/__pycache__
       504 ./pyz/lib/python3.11/site-packages/pycparser/ply
       440 ./pyz/lib/python3.11/site-packages/pycparser/__pycache__
      1336 ./pyz/lib/python3.11/site-packages/pycparser
        42 ./pyz/lib/python3.11/site-packages/pycparser-2.20.dist-info
       528 ./pyz/lib/python3.11/site-packages/cffi/__pycache__
       992 ./pyz/lib/python3.11/site-packages/cffi
        44 ./pyz/lib/python3.11/site-packages/cffi-1.14.6-py3.11.egg-info
        56 ./pyz/lib/python3.11/site-packages/__pycache__
        34 ./pyz/lib/python3.11/site-packages/six-1.16.0-py3.11.egg-info
        40 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/bindings/openssl/__pycache__
        80 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/bindings/openssl
        16 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/bindings/__pycache__
     11920 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/bindings
       552 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/backends/openssl/__pycache__
       944 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/backends/openssl
        40 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/backends/__pycache__
      1016 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/backends
       136 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__
       248 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric
        80 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__
       128 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/ciphers
        64 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/kdf/__pycache__
       128 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/kdf
        80 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/serialization/__pycache__
       144 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/serialization
        40 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__
        80 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/twofactor
        96 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives/__pycache__
       896 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/primitives
        32 ./pyz/lib/python3.11/site-packages/cryptography/hazmat/__pycache__
     13896 ./pyz/lib/python3.11/site-packages/cryptography/hazmat
       232 ./pyz/lib/python3.11/site-packages/cryptography/x509/__pycache__
       400 ./pyz/lib/python3.11/site-packages/cryptography/x509
        64 ./pyz/lib/python3.11/site-packages/cryptography/__pycache__
     14408 ./pyz/lib/python3.11/site-packages/cryptography
        59 ./pyz/lib/python3.11/site-packages/cryptography-3.3.2-py3.11.egg-info
        34 ./pyz/lib/python3.11/site-packages/zos_util-1.0.0-py3.11.egg-info
       296 ./pyz/lib/python3.11/site-packages/ebcdic/__pycache__
       872 ./pyz/lib/python3.11/site-packages/ebcdic
        50 ./pyz/lib/python3.11/site-packages/ebcdic-1.1.1.dist-info
    112134 ./pyz/lib/python3.11/site-packages
        80 ./pyz/lib/python3.11/sqlite3/__pycache__
       112 ./pyz/lib/python3.11/sqlite3
      1136 ./pyz/lib/python3.11/tkinter/test/test_tkinter/__pycache__
      1336 ./pyz/lib/python3.11/tkinter/test/test_tkinter
       560 ./pyz/lib/python3.11/tkinter/test/test_ttk/__pycache__
       672 ./pyz/lib/python3.11/tkinter/test/test_ttk
       200 ./pyz/lib/python3.11/tkinter/test/__pycache__
      2256 ./pyz/lib/python3.11/tkinter/test
      1776 ./pyz/lib/python3.11/tkinter/__pycache__
      4472 ./pyz/lib/python3.11/tkinter
       176 ./pyz/lib/python3.11/tomllib/__pycache__
       232 ./pyz/lib/python3.11/tomllib
       656 ./pyz/lib/python3.11/turtledemo/__pycache__
       848 ./pyz/lib/python3.11/turtledemo
      1976 ./pyz/lib/python3.11/unittest/test/testmock/__pycache__
      2296 ./pyz/lib/python3.11/unittest/test/testmock
      2672 ./pyz/lib/python3.11/unittest/test/__pycache__
      5457 ./pyz/lib/python3.11/unittest/test
      1120 ./pyz/lib/python3.11/unittest/__pycache__
      6897 ./pyz/lib/python3.11/unittest
       688 ./pyz/lib/python3.11/urllib/__pycache__
       888 ./pyz/lib/python3.11/urllib
        32 ./pyz/lib/python3.11/venv/scripts/common
        24 ./pyz/lib/python3.11/venv/scripts/posix
        64 ./pyz/lib/python3.11/venv/scripts
       128 ./pyz/lib/python3.11/venv/__pycache__
       240 ./pyz/lib/python3.11/venv
       320 ./pyz/lib/python3.11/wsgiref/__pycache__
       408 ./pyz/lib/python3.11/wsgiref
       704 ./pyz/lib/python3.11/xml/dom/__pycache__
       896 ./pyz/lib/python3.11/xml/dom
       424 ./pyz/lib/python3.11/xml/etree/__pycache__
       560 ./pyz/lib/python3.11/xml/etree
        56 ./pyz/lib/python3.11/xml/parsers/__pycache__
        80 ./pyz/lib/python3.11/xml/parsers
       304 ./pyz/lib/python3.11/xml/sax/__pycache__
       392 ./pyz/lib/python3.11/xml/sax
        32 ./pyz/lib/python3.11/xml/__pycache__
      1976 ./pyz/lib/python3.11/xml
       336 ./pyz/lib/python3.11/xmlrpc/__pycache__
       441 ./pyz/lib/python3.11/xmlrpc
       176 ./pyz/lib/python3.11/zoneinfo/__pycache__
       232 ./pyz/lib/python3.11/zoneinfo
        56 ./pyz/lib/python3.11/__phello__/__pycache__
        80 ./pyz/lib/python3.11/__phello__
       272 ./pyz/lib/python3.11/test/audiodata
        56 ./pyz/lib/python3.11/test/capath
       104 ./pyz/lib/python3.11/test/dtracedata/__pycache__
       240 ./pyz/lib/python3.11/test/dtracedata
        80 ./pyz/lib/python3.11/test/encoded_modules/__pycache__
       112 ./pyz/lib/python3.11/test/encoded_modules
     85472 ./pyz/lib/python3.11/test/__pycache__
        80 ./pyz/lib/python3.11/test/sndhdrdata
       128 ./pyz/lib/python3.11/test/subprocessdata/__pycache__
       176 ./pyz/lib/python3.11/test/subprocessdata
       545 ./pyz/lib/python3.11/test/test_email/data
      2880 ./pyz/lib/python3.11/test/test_email/__pycache__
      4057 ./pyz/lib/python3.11/test/test_email
       584 ./pyz/lib/python3.11/test/test_json/__pycache__
       752 ./pyz/lib/python3.11/test/test_json
       428 ./pyz/lib/python3.11/test/xmltestdata/c14n-20
       476 ./pyz/lib/python3.11/test/xmltestdata
        32 ./pyz/lib/python3.11/test/ziptestdata/__pycache__
        80 ./pyz/lib/python3.11/test/ziptestdata
      9288 ./pyz/lib/python3.11/test/data
      6024 ./pyz/lib/python3.11/test/test_asyncio/__pycache__
      7040 ./pyz/lib/python3.11/test/test_asyncio
       120 ./pyz/lib/python3.11/test/test_importlib/builtin/__pycache__
       160 ./pyz/lib/python3.11/test/test_importlib/builtin
        32 ./pyz/lib/python3.11/test/test_importlib/data/__pycache__
        64 ./pyz/lib/python3.11/test/test_importlib/data
        32 ./pyz/lib/python3.11/test/test_importlib/data01/subdirectory/__pycache__
        41 ./pyz/lib/python3.11/test/test_importlib/data01/subdirectory
        32 ./pyz/lib/python3.11/test/test_importlib/data01/__pycache__
        84 ./pyz/lib/python3.11/test/test_importlib/data01
        32 ./pyz/lib/python3.11/test/test_importlib/data02/one/__pycache__
        41 ./pyz/lib/python3.11/test/test_importlib/data02/one
        32 ./pyz/lib/python3.11/test/test_importlib/data02/two/__pycache__
        41 ./pyz/lib/python3.11/test/test_importlib/data02/two
        32 ./pyz/lib/python3.11/test/test_importlib/data02/__pycache__
       122 ./pyz/lib/python3.11/test/test_importlib/data02
        32 ./pyz/lib/python3.11/test/test_importlib/data03/namespace/portion1/__pycache__
        40 ./pyz/lib/python3.11/test/test_importlib/data03/namespace/portion1
        32 ./pyz/lib/python3.11/test/test_importlib/data03/namespace/portion2/__pycache__
        40 ./pyz/lib/python3.11/test/test_importlib/data03/namespace/portion2
        88 ./pyz/lib/python3.11/test/test_importlib/data03/namespace
        32 ./pyz/lib/python3.11/test/test_importlib/data03/__pycache__
       128 ./pyz/lib/python3.11/test/test_importlib/data03
       200 ./pyz/lib/python3.11/test/test_importlib/extension/__pycache__
       264 ./pyz/lib/python3.11/test/test_importlib/extension
       176 ./pyz/lib/python3.11/test/test_importlib/frozen/__pycache__
       224 ./pyz/lib/python3.11/test/test_importlib/frozen
       528 ./pyz/lib/python3.11/test/test_importlib/import_/__pycache__
       640 ./pyz/lib/python3.11/test/test_importlib/import_
        56 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__
        66 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/both_portions/foo
        74 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/both_portions
         8 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test
        32 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__
        49 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/module_and_namespace_package
        56 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__
        65 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo
        73 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/not_a_namespace_pkg
        32 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__
        41 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/portion1/foo
        49 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/portion1
        32 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__
        41 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/portion2/foo
        49 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/portion2
        32 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__
        41 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project1/parent/child
        49 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project1/parent
        57 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project1
        32 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__
        41 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project2/parent/child
        49 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project2/parent
        57 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project2
        32 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__
        41 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project3/parent/child
        49 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project3/parent
        57 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs/project3
       497 ./pyz/lib/python3.11/test/test_importlib/namespace_pkgs
        11 ./pyz/lib/python3.11/test/test_importlib/namespacedata01
        56 ./pyz/lib/python3.11/test/test_importlib/partial/__pycache__
        80 ./pyz/lib/python3.11/test/test_importlib/partial
        80 ./pyz/lib/python3.11/test/test_importlib/resources/__pycache__
        96 ./pyz/lib/python3.11/test/test_importlib/resources
       440 ./pyz/lib/python3.11/test/test_importlib/source/__pycache__
       536 ./pyz/lib/python3.11/test/test_importlib/source
        32 ./pyz/lib/python3.11/test/test_importlib/zipdata01/__pycache__
        48 ./pyz/lib/python3.11/test/test_importlib/zipdata01
        32 ./pyz/lib/python3.11/test/test_importlib/zipdata02/__pycache__
        48 ./pyz/lib/python3.11/test/test_importlib/zipdata02
      1864 ./pyz/lib/python3.11/test/test_importlib/__pycache__
      5250 ./pyz/lib/python3.11/test/test_importlib
        56 ./pyz/lib/python3.11/test/test_warnings/data/__pycache__
        80 ./pyz/lib/python3.11/test/test_warnings/data
       368 ./pyz/lib/python3.11/test/test_warnings/__pycache__
       520 ./pyz/lib/python3.11/test/test_warnings
        56 ./pyz/lib/python3.11/test/tracedmodules/__pycache__
        80 ./pyz/lib/python3.11/test/tracedmodules
      4960 ./pyz/lib/python3.11/test/decimaltestdata
       632 ./pyz/lib/python3.11/test/libregrtest/__pycache__
       800 ./pyz/lib/python3.11/test/libregrtest
       832 ./pyz/lib/python3.11/test/support/__pycache__
      1056 ./pyz/lib/python3.11/test/support
       344 ./pyz/lib/python3.11/test/test_peg_generator/__pycache__
       448 ./pyz/lib/python3.11/test/test_peg_generator
       392 ./pyz/lib/python3.11/test/test_tools/__pycache__
       520 ./pyz/lib/python3.11/test/test_tools
       176 ./pyz/lib/python3.11/test/test_IBM/__pycache__
       240 ./pyz/lib/python3.11/test/test_IBM
       234 ./pyz/lib/python3.11/test/cjkencodings
       113 ./pyz/lib/python3.11/test/imghdrdata
        56 ./pyz/lib/python3.11/test/test_import/data/circular_imports/subpkg/__pycache__
        66 ./pyz/lib/python3.11/test/test_import/data/circular_imports/subpkg
        56 ./pyz/lib/python3.11/test/test_import/data/circular_imports/subpkg2/parent/__pycache__
        80 ./pyz/lib/python3.11/test/test_import/data/circular_imports/subpkg2/parent
        32 ./pyz/lib/python3.11/test/test_import/data/circular_imports/subpkg2/__pycache__
       120 ./pyz/lib/python3.11/test/test_import/data/circular_imports/subpkg2
       320 ./pyz/lib/python3.11/test/test_import/data/circular_imports/__pycache__
       569 ./pyz/lib/python3.11/test/test_import/data/circular_imports
        56 ./pyz/lib/python3.11/test/test_import/data/package/__pycache__
        65 ./pyz/lib/python3.11/test/test_import/data/package
        56 ./pyz/lib/python3.11/test/test_import/data/package2/__pycache__
        72 ./pyz/lib/python3.11/test/test_import/data/package2
        56 ./pyz/lib/python3.11/test/test_import/data/unwritable/__pycache__
        72 ./pyz/lib/python3.11/test/test_import/data/unwritable
       786 ./pyz/lib/python3.11/test/test_import/data
       368 ./pyz/lib/python3.11/test/test_import/__pycache__
      1219 ./pyz/lib/python3.11/test/test_import
        32 ./pyz/lib/python3.11/test/test_zoneinfo/data/__pycache__
        64 ./pyz/lib/python3.11/test/test_zoneinfo/data
       488 ./pyz/lib/python3.11/test/test_zoneinfo/__pycache__
       665 ./pyz/lib/python3.11/test/test_zoneinfo
    142382 ./pyz/lib/python3.11/test
     18768 ./pyz/lib/python3.11/__pycache__
     14657 ./pyz/lib/python3.11/config-3.11
     41736 ./pyz/lib/python3.11/lib-dynload
    390366 ./pyz/lib/python3.11
        26 ./pyz/lib/pkgconfig
    410544 ./pyz/lib
       480 ./pyz/include/python3.11/cpython
       688 ./pyz/include/python3.11/internal
      1968 ./pyz/include/python3.11
      1976 ./pyz/include
        33 ./pyz/share/man/man1
        41 ./pyz/share/man
        49 ./pyz/share
    416302 ./pyz
    416310 .

```
</div></details>

これでインストールは完了です。


# 動作確認

## 環境変数設定

Pythonを利用するにに必要な環境変数を設定します。
以下の環境変数をシェルに設定します。

- PATH: `/usr/lpp/IBM/cyp/v3r11/pyz/bin`を追加
- LIBPATH: `/usr/lpp/IBM/cyp/v3r11/pyz/lib`を追加
- _BPXK_AUTOCVT=ALL
- _CEE_RUNOPTS=FILETAG(AUTOCVT,AUTOTAG) POSIX(ON)
- _TAG_REDIR_IN=txt
- _TAG_REDIR_OUT=txt
- _TAG_REDIR_ERR=txt


## python3コマンド実行

参考: [Getting started with IBM Open Enterprise SDK for Python](https://www.ibm.com/docs/en/python-zos/3.11?topic=getting-started-open-enterprise-sdk-python)

python3コマンドを試してみます。

```
# python3 --version
Python 3.11.0

# python3 -c "import sys; print(sys.executable)"
/usr/lpp/IBM/cyp/v3r11/pyz/bin/python3

# python3
Python 3.11.0 (heads/pyz_dev-3.11:2b6da3c0f0, Dec  2 2022, 05:55:59) [Clang 14.0.0 ] on zos
Type "help", "copyright", "credits" or "license" for more information.
>>> help()

Welcome to Python 3.11's help utility!

If this is your first time using Python, you should definitely check out
the tutorial on the internet at https://docs.python.org/3.11/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics".  Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".

help> quit

You are now leaving help and returning to the Python interpreter.
If you want to ask for help on a particular object directly from the
interpreter, you can type "help(object)".  Executing "help('string')"
has the same effect as typing a particular string at the help> prompt.
>>> quit()
```

USS上でpython3コマンドが実行できました！

単純なPythonのサンプルを動かしてみます。

```py:test_script.py
def main():
    print("hello world!")

if __name__ == "__main__":
    main()
```

タグ確認
```
# ls -laT | grep py
t IBM-1047    T=on  -rw-rw-rw-   1 0        STC           77 Feb  7 18:29 test_script.py
```

スクリプト実行
```
# python3 test_script.py
hello world!
```

Pythonスクリプトの実行もできました！

# 追加設定
参考: [Customization and environment configuration](https://www.ibm.com/docs/en/python-zos/3.11?topic=configuration-customization-environment)

上の記述に従って、以下のように/usr/bin以下にシンボリックリンクを作成しておきます。

```
# ln -sf /usr/lpp/IBM/cyp/v3r11/pyz/bin/python3 /usr/bin/python
# ln -sf /usr/lpp/IBM/cyp/v3r11/pyz/bin/python3 /usr/bin/python3
# ln -sf /usr/lpp/IBM/cyp/v3r11/pyz/bin/python3 /usr/bin/python3.11

# ls -la /usr/bin | grep python
lrwxrwxrwx   1 0        OMVSGRP       38 Feb 13 09:20 python -> /usr/lpp/IBM/cyp/v3r11/pyz/bin/python3
lrwxrwxrwx   1 0        OMVSGRP       38 Feb 13 11:40 python3 -> /usr/lpp/IBM/cyp/v3r11/pyz/bin/python3
lrwxrwxrwx   1 0        OMVSGRP       38 Feb 13 11:39 python3.11 -> /usr/lpp/IBM/cyp/v3r11/pyz/bin/python3
```