PythonとDjangoのアップデート

Windows

STEP1 OMFLOWのバックアップ

OMFLOWを停止し、バックアップしてください。詳細は【備份與還原】を参照してください。

2.現在のpythonパッケージを確認します

  1. コマンドライン(command line)を"システム管理者"として実行する。

  2. omflowのPythonフォルダに移動する。

        cd "C:\Program Files\OMFLOW Server\Python"
  1. 現在のパッケージをすべてリストアップします。(パッケージリストを記録し、保存してください)

        python.exe -m pip freeze
  1. コマンドラインで今のディレクトリから離れる

        cd ..
  1. Pythonフォルダ名を"Python_backup"に変更する。

3.新しいバージョンのPythonをインストールします

  1. Python3.x ( 32 Bit ) のWindowsインストーラーをダウンロードし、実行する。

  2. Customize installation を選択し、インストールパスをカスタマイズする。

  3. インストールパスに C:\PROGRA\~1\OMFLOW Server\Pythonを選択する

4.pythonパッケージのインストール

オフライン環境については、以下「補足」の項をご参照ください。

  1. コマンドライン(command line)でPythonディレクトリに戻る

        cd "C:\Program Files\OMFLOW Server\Python"
  1. 必要なパッケージのインストールを開始する(セッションを2.3に記載されているすべてのパッケージ)

        python.exe -m pip install <パッケージ>

5.httpd.confを修正します

C:\Program Files\OMFLOW Server\Apache24\conf\httpd.confを開き、以下の2行を修正して、python37とmod_wsgi.cp37を新しいバージョン番号に変更する。

        LoadFile "C:\Program Files\OMFLOW Server\Python\python37.dll"
        LoadModule wsgi_module "C:\Program Files\OMFLOW Server\Python\lib\site-packages\mod_wsgi\server\mod_wsgi.cp37-win32.pyd"

6.カスタマイズ内容の修正

python 3.7 => 3.11 Django 2.2 => 4.2

本セッションでは、上記の環境を例として説明しますが、他のバージョンの必要な修正については、Python または Django の公式サイトをご確認ください。

  1. C:\Program Files\OMFLOW Server\omflow\omcustom\urls.pyを開く

  2. 以下の行を削除する

        from django.conf.urls import url
  1. 以下の行を修正し、本文中のurl() を re_path()に変更する

        #古い内容
        from django.urls import path
        #下記に変更する
        from django.urls import path, re_path
  1. 変更が終わったらファイルを保存して閉じます。

7.OMFLOWの再起動

omflowサービスを再起動する

Linux

1.OMFLOWのバックアップ

事前にOMFLOWをバックアップしてください。バックアップ方法については、【バックアップと復元】のセクションを参照してください。

2.OMFLOWを停止する

        omflow_server stop

3./opt/omflowフォルダ配下のpythonフォルダを削除する

        rm -rf /opt/omflow/python/

4.ubuntuパッケージのインストール

パッケージのリスト

  • python 3.x

  • python3.x-dev

  • python3.x-venv

  • python3-pip

インストール方法1: オンライン版 (インターネット接続が必要)

        # deadsnakesをアップデートする
        apt-get update -y
        # deadsnakesを追加する
        add-apt-repository ppa:deadsnakes/ppa -y
        # deadsnakesをアップデートする
        apt-get update -y

        # python3.xと関連パッケージをインストールする
        apt-get install -y python3.x python3.x-dev python3.x-venv python3-pip

インストール方法2:オフライン環境、オフラインインストールは補足の項を参照してください

Ubuntuオフラインインストールパッケージをダウンロード オフラインでUbuntuパッケージをインストール

5.python 3.11を環境変数に設定します(python3のコマンドでpython3.11を呼び出し可能になるようにする)

        update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.x 1

6.python 3.xの仮想環境を/opt/omflowフォルダの配下に作成する

        python3 -m venv /opt/omflow/python

7.仮想環境に入り、pythonパッケージをインストールする

pythonパッケージのリスト

  • wheel

  • django==4.2

  • ldap3

  • mod_wsgi

  • openpyxl

  • DBで使うpythonパッケージ套件

  • その他に必要なパッケージ…

  • オンラインインストール版(インターネット接続が必要)

        # 仮想環境に入る
        source /opt/omflow/python/bin/activate

        # wheelをインストールする
        pip install wheel

        # 必要なければ省略可能
        python /usr/lib/python3.11/test/libregrtest/setup.py bdist_wheel

        # 必要なパッケージをインストールします。その他のパッケージについては、ユーザのご判断でインストールしてください。
        pip install django==4.2 ldap3 mod_wsgi openpyxl

オフライン環境、オフラインインストールは補足の項を参照してください

pythonのオフラインインストールパッケージをダウンロードする(.whl) オフラインでpythonパッケージをインストールする

8.apache http.confのパスwsgi_moduleを新しいパスに変更する

        # django.confを修正する
        vim /etc/apache2/sites-enabled/django.conf

        # wsgi_moduleのパスを修正する

補足:

このセクションのコマンドはすべてpython 3.11に基づいている例です。異なるバージョンはユーザ自身で修正してください。

Ubuntuのオフラインインストールパッケージをダウンロードする

OMFLOW server環境と同じUbuntuを探し、インターネットに接続できる環境が必要。

必要なパッケージ:

  • python3.11

  • python3.11-dev

  • python3.11-venv

  • python3-pip

ダウンロードコマンド:

        # rootに切り替わる
        sudo su
        
        # deadsnakesの追加**deadsnakes** PPA
        add-apt-repository ppa:deadsnakes/ppa
        
        # アップデートパッケージリスト表: 
        apt-get update
        
        # (必要があれば) デフォルトのダウンロードフォルダをクリアする
        apt-get clean
        
        # パッケージをダウンロードするがインストールしない
        apt-get install --download-only python3.11 python3.11-dev python3.11-venv python3-pip

ダウンロードしたインストールパッケージは、 /var/cache/apt/archives/ ディレクトリに保存されますので、FTPソフトを使用して取り出し、OMFLOW server環境にインストールしてください。

Ubuntuパッケージのオフラインインストール

パッケージのリスト:

  • python3.11

  • python3.11-dev

  • python3.11-venv

  • python3-pip

.deb ドキュメントをUbuntuのいずれのディレクトリにコピーします。ここでは **/tmp/Downloads** を例にします。

Ubuntu指令:

        # rootに切り替わる
        sudo su
        
        # インストーラーが保存するパスに移動する
        cd /tmp/Downloads
        
        # dpkg を使ってダウンロードしたパッケージをインストールする
        dpkg -i *.deb

既存の環境からインストール済みのpythonパッケージのリストをエクスポートします。

すでにOMFLOWで使用しているパッケージリストがある場合は、このステップは省略できます。

參考: https://pip.pypa.io/en/stable/cli/pip_freeze/

エクスポートコマンド:

        # OMFLOWの仮想環境に切り替わる
        source /opt/omflow/python/bin/activate
        
        # pythonパッケージリストを/tmp配下にエクスポートする
        pip freeze > /tmp/requirements.txt
        
        # djangoのバージョンを 4.2 以上にする
        vim /tmp/requirements.txt

FTPソフトを使用して取り出し、ネットワークに接続できるUbuntu環境に置き、引き続きダウンロードの参考とします。

pythonオフラインインストールパッケージをダウンロードします(.whl)

python3.11対応のパッケージをダウンロードするには、python3.11がインストールされた環境を用意し、該当の環境がネットワークに接続されている必要があります。

ダウンロードコマンド:

        # オフラインインストーラ保存用の新しいフォルダを作成する
        mkdir /tmp/python_package
        cd /tmp/python_package
        
        # [方法1]requirements.txtを使って一括ダウンロードする
        # 前のステップの requirements.txtを/tmp/の配下に置いた場合
        pip -m install /tmp/requirements.txt
        
        # [方法2]パッケージ名を手動で入力してダウンロードする
        pip -m install <パッケージ>
        
        # ダウンロード完了後、フォルダの中に.whlのインストールファイルがいくつあるか確認してください
        ll

FTPソフトを使用して取り出し、OMFLOW serverに戻します。

補足: mod_wsgiはtar.gzを取得し、インストール方法が特殊なので、詳細はオフラインインストールmod_wsgiをご参照ください。

pythonパッケージのオフラインインストール

pythonパッケージのオフラインインストーラ(.whl)が**/opt/omflow/tmp**の配下に置いた例

インストールコマンド:

        # OMFLOWの仮想環境に切り替わる
        source /opt/omflow/python/bin/activate
        
        # オフラインインストーラのが保存するパスに切り替わる
        cd /opt/omflow/tmp
        
        # すべてのwhlをインストールする
        pip install *.whl

mod_wsgiのオフラインインストール

インストールコマンド:

        # OMFLOWの仮想環境に切り替わる
        source /opt/omflow/python/bin/activate
        
        # mod_wsgiのtar.gzを解凍する
        tar zxvf <mod_wsgiのファイルパ>
        
        cd <mod_wsgi解凍後のファイルパ>
        
        # mod_wsgiの簡易インストール
        python setup.py install

エラー処理

OMFLOWのアップデート後にサービスが起動できない場合は、【バックアップと復元】に従ってOMFLOWを復元し、再度アップデート手順を実行してください。

最終更新