LoginSignup
1
2

Pythonのvenvを使用時に遭遇した証明書の問題とその解決方法

Last updated at Posted at 2024-03-12

はじめに

Windowsにて、Pythonで仮想環境(venv)を作成し、それを有効化(activate)しようとした時、「信頼されていない発行元からのソフトウェアを実行しますか?」という警告が表示されるでしょう。この警告は、システムがPython Software Foundation発行のスクリプトを信頼していないために起こります。この記事では、この際に「常に実行しない」を選択してしまった場合の解決方法を紹介します。
確認したのはWindows10のみです。ただ、Windows11でも同様の操作で同じUIのcertmgrが開かれたので、おそらく解決すると思われます。

問題発生までの流れ

仮想環境を有効化しようとすると、以下のようなメッセージが表示されます。

PS C:〇〇> .\venv\Scripts\activate

この信頼されていない発行元からのソフトウェアを実行しますか?
ファイル C:〇〇\venv\Scripts\Activate.ps1 の発行元は CN=Python Software Foundation, O=Python Software Foundation, L=Beaverton, S=Oregon, C=US
であり、このシステムで信頼されていません。信頼された発行元からのスクリプトのみを実行してください。
[V] 常に実行しない(V)  [D] 実行しない(D)  [R] 一度だけ実行する(R)  [A] 常に実行する(A)  [?] ヘルプ (既定値は "D"):

ここで、誤って[V] 常に実行しないを選択してしまった場合、問題が発生します。
以降、このようなメッセージが表示されるでしょう。

PS C:〇〇> .\venv\Scripts\activate
.\venv\Scripts\activate : ソフトウェアの制限のポリシー (グループ ポリシーを使用して作成されたポリシーなど) によって操作がブロックされているため、ファイル 
C:〇〇 は読み込めません。      
発生場所 行:1 文字:1
+ .\venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

解決方法

解決策は、システムにPython Software Foundationを信頼された発行元として追加することです。

  1. Windowsボタンから「証明書」と入力し、表示される「ユーザー証明書の管理」を選択します
  2. certmgrウィンドウが開きます
    image.png
  3. 「信頼されていない証明書」> 「証明書」にある証明書リストの中から「Python Software Foundation」を見つけます
  4. この証明書をドラッグ&ドロップで「信頼されたルート証明機関」> 「証明書」に移動させます

証明書を移動させた後、ウィンドウを閉じて、再度activateスクリプトを実行します。先ほどと同様の選択肢が表示された場合は、今度は[A] 常に実行するを選択してください。

PS C:〇〇> .\venv\Scripts\activate

この信頼されていない発行元からのソフトウェアを実行しますか?
ファイル C:〇〇\venv\Scripts\Activate.ps1 の発行元は CN=Python Software Foundation, O=Python Software Foundation, L=Beaverton, S=Oregon, C=US
であり、このシステムで信頼されていません。信頼された発行元からのスクリプトのみを実行してください。
[V] 常に実行しない(V)  [D] 実行しない(D)  [R] 一度だけ実行する(R)  [A] 常に実行する(A)  [?] ヘルプ (既定値は "D"): A
(venv) PS C:〇〇>

これで、信頼されていない発行元からの警告を解決し、問題なく仮想環境を有効化できるようになります。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2