fatal: detected dubious ownership in repository エラーが発生し Python アプリケーションが実行できない

Pythonアプリケーションを実行すると、fatal: detected dubious ownership in repository エラーが発生してPythonアプリケーションが実行できない現象の原因と対処法を紹介します。

現象の確認

Pythonアプリケーションを実行すると、以下のエラーが発生します。
エラーメッセージ
venv "(venvのPythonディレクトリのパス)\Python.exe"
fatal: detected dubious ownership in repository at '(アセットのディレクトリ)'
'(アセットのディレクトリ)' is owned by:
        [ユーザー名1]
but the current user is:
        [ユーザー名2]

原因

インストールした際のファイルのオーナーと、現在のファイルのオーナーが異なることが原因です。ディスクの交換やOSの再インストールがきっかけになっている可能性があります。

対処法

ファイルのオーナーを元のユーザーに変更します。

ファイルのオーナーがローカルユーザーの場合

ファイルの所有者を変更します。変更手順はこちらの記事を参照してください。

ファイルのオーナーがAzureADのユーザーの場合

ファイルの所有者をAzureADのユーザーに変更します。 ローカルユーザーがAzureADのユーザーと関連付けられている場合は、ローカルユーザーに所有者を変更します。 一覧にAzureADのに関連付けられたローカルユーザーが表示されない場合で AzureADのユーザーに変更する手順はこちらの記事を参照してください。

OSの再インストールにより、ファイルのオーナーが存在しない場合

この場合はvenv環境を再インストールします。
venvディレクトリを削除し、venv仮想環境を再度作成します。venv仮想環境の作成手順はこちらの記事を参照してください。
作成後、アプリケーションのインストール手順に従ってインストールを進めます。 一般的には、以下のコマンドとなります。

python -m venv venv
.\venv\Scripts\activate.bat
pip install --upgrade -r requirements.txt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2024-06-16
iPentec all rights reserverd.