3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonを使うときはvenvを使え高校校歌

Last updated at Posted at 2025-01-19

venvを使うことになった背景

学校でpythonを使うことが多くライブラリーを入れることが多い。ふと思ったのだ、あれ環境が汚れて行ってるくねと、

venvの使い方

WindowsとMac/linuxとでは挙動が異なる。それを深く解説していく。

MacOS/Linux
python3 -m venv 任意のフォルダー名
Windows
python -m venv 任意のフォルダー名

構文はこうだが、たいてい下のように暗黙のルール??的なのが存在している。.venvにしてることが多い(わかりやすいため)

MacOS/Linux
python3 -m venv .venv
Windows
python -m venv .venv

そしてここからが大事だ。venvの環境に入るときMac/linuxとWindowsで打ち込むコードが違う。

MacOS/Linux
source ./作ったフォルダ名/bin/activate
Windows
.\作ったフォルダ名\Scripts\activate

暗黙のルールに従った書き方だと

MacOS/Linux
source ./.venv/bin/activate
Windows
.\.venv\Scripts\activate

Windowsの方へ
おそらくこれを実行してもこんな感じに怒られるはずです。これはスクリプトの実行が無効になっているので使えるようにしときましょう。

.\.venv\Scripts\activate : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\XXX\.venv\Script
s\Activate.ps1 を読み込むことができません。詳細については、「about_Execution_Policies(https://go.microsoft.com/fwlink
/?LinkID=135170) を参照してください。
発生場所 :1 文字:1
+ .\.venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
1度だけ(管理者不要)←おすすめ!!!
Set-ExecutionPolicy RemoteSigned -Scope Process
常時有効※セキュリティ的におすすめしません(管理者必要)
Set-ExecutionPolicy RemoteSigned

すると、こんな感じになり、venvが使えるようになります!!!

(.venv) user@XXXX:~$
Windows
(.venv) PS C:\Users\XXXX>

このまま実行したりpipを使うと自動的にvenv内で動きます

venvを抜けたいとき

MacOS/LinuxとWindows共通のコマンドで抜けられます

Windows+MacOS/Linux
deactivate

最後に

今回、学校で開発をするときに、環境が汚れるの嫌だったのでvenvを紹介しました。
では、よき開発ライフを!

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?