【Python】パッケージ管理のためにvenvで仮想環境を作成する(.ps1スクリプトの実行のためセキュリティ設定の変更)

ICT

Windows10に「Python」および「Visual Studio Code」をインストールしました。

【Python】64bit版をWindows10にインストールする
今回は、Pythonの64ビット版をWindows10にインストールする手順を記載します。 Pythonのダウンロード 公式サイトにアクセスします。 今回は最新バージョン(現時点では3.8.2)ではなく、3.7をインストー...
【Visual Studio Code】Windows10にインストールする
Pythonでプログラム開発を行うために、Windows10端末にコードエディタの「Visual Studio Code」をインストールします。 プログラムダウンロード 公式サイトからダウンロードを行います。 インスト...
【Visual Studio Code】メニューを日本語化する
Pythonでプログラム開発を行うために、Windows10端末にコードエディタの「Visual Studio Code」をインストールしました。 メニューなどが英語になっているので、日本語化しようと思います。 日本...

今回は、Pythonのパッケージ管理を行うために、「venv」を使用して仮想環境を作成しようと思います。

テストフォルダの作成

テスト用のフォルダを作成します。
「フォルダーを開く」で作成したフォルダを指定します。
左側エクスプローラーにフォルダツリーが表示されます。

Visual Studio Codeによる操作

Windows10なのでコマンド操作は「Power Shell」で行います。
Visual Studio Codeのターミナルを使用します。
上部メニューより、ターミナル-新しいターミナルをクリックします。
ターミナルウィンドウが表示されます。

コマンドによる仮想環境の作成

VSCでコマンド入力ができるようになったので、仮想環境を作成します。
まず試しに「Python -V」というコマンドでPythonのバージョンを確認します。
続いて、「python -m venv myvenv」とコマンド入力を行い、テストフォルダ内に仮想環境を作成します。
このコマンドにより、現在のフォルダ内に「myvenv」という名前の仮想環境フォルダが作成されます。

仮想環境の使用

仮想環境を有効化してみます。
フォルダ内に作成された「myvenv」配下の「Scripts\activate.ps1」を実行します。
コマンドに「\myvenv\Scripts\activate」と入力します。
セキュリティエラーが出ました。
PS C:\Python\Test> myvenv\scripts\activate
myvenv\scripts\activate : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Python\Test\myvenv\scripts\
Activate.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?Li
nkID=135170) を参照してください。
発生場所 行:1 文字:1
+ myvenv\scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
スクリプトの実行が無効になっているようです。

PowerShellのSet-ExecutionPolicyの変更

セキュリティ設定を変更します。
PowerShellのSet-ExecutionPolicyの設定値によるセキュリティエラーなので、変更を行います。
以下のコマンドを実行します。
「Set-ExecutionPolicy RemoteSigned」
RemoteSignedは、ローカルに保存されているスクリプトは実行可能。インターネットからダウンロードしたスクリプト(非ローカルのスクリプト)は、署名されているもののみが実行可能という設定です。
コマンド実行しましたが、今度は権限エラーが出ました。
PS C:\Python\Test> Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy : レジストリ キー ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell’
へのアクセスが拒否されました。 既定 (LocalMachine) のスコープの実行ポリシーを変更するには、[管理者として実行] オプション
を使用して Windows PowerShell を起動してください。現在のユーザーの実行ポリシーを変更するには、”Set-ExecutionPolicy -Scope
CurrentUser” を実行してください。
発生場所 行:1 文字:1
+ Set-ExecutionPolicy RemoteSigned
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
VSCではなく、PowerShellを管理者モードで実行します。
メニューよりWindows PowerShellを管理者として実行します。
PS C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は “N”): y
コマンドの実行ができました。

再度、仮想環境の有効化

再度、コマンドを実行して仮想環境の有効化を行います。
(myvenv)という表示が出て、無事仮想環境を使用できるようになりました。

 

 

コメント

タイトルとURLをコピーしました