LinuxでPythonを動かす|apt・venv・pipの手順【初心者向け】

前の記事では、nohup や tmux を使って、ターミナルを閉じても処理を止めない方法を見ました。そこで動かしたいものとして、いちばん多いのが Python のスクリプトだと思います。

私が Linux で Python を使い始めたとき、ネットの手順どおりに pip install と打ったら、英語の長いエラーが出て止まってしまいました。「Windows では動いたのに、なぜ?」と、しばらく悩みました。今の Debian や Ubuntu では、パソコン全体の Python に、pip で直接ライブラリを入れられないようになっているんです。

この記事では、apt で Python の道具を入れ、venv(仮想環境)というプロジェクト専用の部屋を作って、その中で pip を使う手順を、順番に確かめていきます。

💡
この記事でわかること
  • Linux に入っている Python の確かめ方
  • apt で python3-venv と python3-pip を入れる方法
  • 「externally-managed-environment」エラーの意味
  • venv の作り方・入り方(activate)・出方(deactivate)
  • venv の中で pip install して、requirements.txt に残す方法
  • venv に入らずに、venv の Python を直接動かす方法
🔰
この記事の前提
  • sudo apt install でソフトを入れられる
  • PATH と which のしくみがわかる
  • > で出力をファイルに保存できる

まだの方は、前の記事「Linuxでログアウトしても処理を止めない|&・nohup・tmuxの使い方【初心者向け】」と、Lv3 の最初の記事「Linuxの環境変数とPATH|「command not found」の正体と.bashrc・alias」から読むのがおすすめです。

💡
用語メモ
  • ログインシェル:ログインしたときに最初に動くシェル。設定ファイル ~/.profile(Debian・Ubuntu の場合)を読みます
  • tmux:ターミナルの作業画面を残したまま切りはなし、あとでまた戻れる道具
  • apt:Debian・Ubuntu で、ソフトを入れる・更新する・消すための道具
  • PATH:コマンドの本体を探しにいくディレクトリを :(コロン)で区切って並べた環境変数。左から順に探します

用語で迷ったら、連載のまとめ記事の「よく出てくる用語ミニ辞典」でも確かめられます。


結論:Python 本体は apt、ライブラリは venv の中の pip

やること コマンド
Python の道具を入れる sudo apt install python3-venv python3-pip
venv を作る python3 -m venv venv
venv に入る source venv/bin/activate
ライブラリを入れる(venv の中で) pip install requests
入れたものを記録する pip freeze > requirements.txt
venv から出る deactivate
入らずに venv の Python で動かす venv/bin/python hello.py

apt と pip の役割分担

準備:練習用のディレクトリを作る

練習は ~/linux-practice/python-test の中で行います。

  • 1
  • 2
  • 3
mkdir -p ~/linux-practice/python-test
cd ~/linux-practice/python-test
pwd

🖥️
この記事の出力例について

ここから先の出力例は、Debian 13での実行例です(ユーザー名 kaito・パソコン名 demo のダミー環境)。UbuntuやWSL(=Windows の中で Linux を動かせる、Microsoft のしくみ)では、表示が少し違うことがあります。

(例)

  • 1
  • 2
kaito@demo:~/linux-practice/python-test$ pwd
/home/kaito/linux-practice/python-test

入っている Python を確かめる

Debian や Ubuntu には、多くの場合、最初から python3 が入っています。

  • 1
  • 2
  • 3
python3 --version
which python3
python --version

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
kaito@demo:~/linux-practice/python-test$ python3 --version
Python 3.13.5
kaito@demo:~/linux-practice/python-test$ which python3
/usr/bin/python3
kaito@demo:~/linux-practice/python-test$ python --version
-bash: python: command not found

Debian 13 では、python3 は入っていて、python は「command not found」でした(先頭の -bash: は、ログインシェルで動いているときの表示です)。

Linux では、コマンドの名前は python ではなく python3 が基本です。python が「command not found」になっても、あわてなくて大丈夫です。


apt で venv と pip を入れる

venv と pip は、別のパッケージ(=ソフトをインストールしやすいように、ひとまとめにしたもの)になっていることが多いです。まず確かめてみます。

  • 1
  • 2
pip3 --version
python3 -m venv --help | head -3

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
kaito@demo:~/linux-practice/python-test$ pip3 --version
-bash: pip3: command not found
kaito@demo:~/linux-practice/python-test$ python3 -m venv --help | head -3
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
            [--upgrade] [--without-pip] [--prompt PROMPT] [--upgrade-deps]
            [--without-scm-ignore-files]

Debian 13 では、pip3 は入っていませんでした。python3 -m venv --help は、python3-venv を入れる前でも使い方が表示されました。ただし、実際に venv を作るには python3-venv が必要です(入っていないと、作るときに ensurepip がないという案内が出ることがあります)。どちらも次の apt でまとめて入れておきましょう。

入っていなければ、apt で入れます。

  • 1
  • 2
  • 3
sudo apt update
sudo apt install python3-venv python3-pip
pip3 --version

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
kaito@demo:~/linux-practice/python-test$ sudo apt update
[sudo] password for kaito:
Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
Fetched 231 kB in 0s (4060 kB/s)
All packages are up to date.
kaito@demo:~/linux-practice/python-test$ sudo apt install python3-venv python3-pip
Installing:
  python3-pip  python3-venv

Installing dependencies:
  javascript-common  libjs-underscore   python3-dev             python3-wheel
  libexpat1-dev      libpython3-dev     python3-packaging       python3.13-dev
  libjs-jquery       libpython3.13      python3-pip-whl         python3.13-venv
  libjs-sphinxdoc    libpython3.13-dev  python3-setuptools-whl  zlib1g-dev

Suggested packages:
  apache2  | lighttpd  | httpd  python3-setuptools

Summary:
  Upgrading: 0, Installing: 18, Removing: 0, Not Upgrading: 0
  Download size: 184 kB / 13.9 MB
  Space needed: 53.0 MB / 109 GB available

Continue? [Y/n] Y
…(途中省略)…
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for libc-bin (2.41-12+deb13u4) ...
kaito@demo:~/linux-practice/python-test$ pip3 --version
pip 25.1.1 from /usr/lib/python3/dist-packages/pip (python 3.13)

[sudo] password for kaito: では自分のパスワードを打ちます(画面には出ません)。Continue? [Y/n] には Y と答えます。Debian 13 では、関係するものもあわせて18個のパッケージが入りました。


venv の外で pip install するとどうなるか

ためしに、venv を作らずに、そのまま pip install してみます。

  • 1
pip3 install requests

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
kaito@demo:~/linux-practice/python-test$ pip3 install requests
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.13/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

長いですが、大事なのは最初の error: externally-managed-environment と、「apt install python3-xyz を使うか、python3 -m venv で仮想環境(venv)を作ってね」という案内の部分です。

Debian 13での実行画面

このエラーは「パソコン全体の Python は apt が管理しているので、pip で直接さわらないでください」という意味です。壊れたわけではありません。apt が使っている Python のライブラリを pip で上書きすると、システムの道具が動かなくなることがあるので、それを防いでくれているんです。

🚫
エラーを消すための「裏ワザ」は使わない(文章だけで説明します)

ネットで調べると、pip install --break-system-packages や sudo pip install で、このエラーを無理やり通す方法が出てきます。名前のとおり「システムのパッケージを壊すかもしれない」書き方で、apt で入れた道具が動かなくなったり、あとで apt の更新が失敗したりする原因になります。また、sudo apt remove python3 のように Python 本体を消すと、システムの多くの道具が一緒に消えてしまいます。この記事では試しません。ライブラリは、このあと作る venv の中に入れましょう。


venv を作って、中に入る

プロジェクト用の venv を作ります。最後の venv は、作る小部屋(フォルダ)の名前です。

  • 1
  • 2
  • 3
  • 4
cd ~/linux-practice/python-test
python3 -m venv venv
ls
ls venv/bin | head

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
kaito@demo:~/linux-practice/python-test$ cd ~/linux-practice/python-test
kaito@demo:~/linux-practice/python-test$ python3 -m venv venv
kaito@demo:~/linux-practice/python-test$ ls
venv
kaito@demo:~/linux-practice/python-test$ ls venv/bin | head
Activate.ps1
activate
activate.csh
activate.fish
pip
pip3
pip3.13
python
python3
python3.13

source で、venv に入ります。

  • 1
  • 2
  • 3
  • 4
source venv/bin/activate
which python
which pip
python --version

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
kaito@demo:~/linux-practice/python-test$ source venv/bin/activate
(venv) kaito@demo:~/linux-practice/python-test$ which python
/home/kaito/linux-practice/python-test/venv/bin/python
(venv) kaito@demo:~/linux-practice/python-test$ which pip
/home/kaito/linux-practice/python-test/venv/bin/pip
(venv) kaito@demo:~/linux-practice/python-test$ python --version
Python 3.13.5

Debian 13での実行画面

プロンプトの先頭に (venv) がついたら、venv の中に入っています。activate は、PATH の先頭に venv/bin を足しています。Lv3 の最初の記事で、自分のコマンド置き場を PATH に足したのと同じしくみです。venv の中では、python や pip と打つだけで、この小部屋のものが使われます。


venv の中で pip install する

今度はエラーにならないはずです。

  • 1
  • 2
  • 3
pip install requests
pip list
python -c "import requests; print(requests.__version__)"

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
(venv) kaito@demo:~/linux-practice/python-test$ pip install requests
Collecting requests
  Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)
Collecting charset_normalizer<4,>=2 (from requests)
  Downloading charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (46 kB)
Collecting idna<4,>=2.5 (from requests)
  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)
Collecting urllib3<3,>=1.26 (from requests)
  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)
Collecting certifi>=2023.5.7 (from requests)
  Downloading certifi-2026.10.23-py3-none-any.whl.metadata (2.5 kB)
Downloading requests-2.34.2-py3-none-any.whl (73 kB)
Downloading charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (254 kB)
Downloading idna-3.20-py3-none-any.whl (69 kB)
Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)
Downloading certifi-2026.10.23-py3-none-any.whl (135 kB)
Installing collected packages: urllib3, idna, charset_normalizer, certifi, requests
Successfully installed certifi-2026.10.23 charset_normalizer-3.5.2 idna-3.20 requests-2.34.2 urllib3-2.8.0
(venv) kaito@demo:~/linux-practice/python-test$ pip list
Package            Version
------------------ ----------
certifi            2026.10.23
charset-normalizer 3.5.2
idna               3.20
pip                25.1.1
requests           2.34.2
urllib3            2.8.0
(venv) kaito@demo:~/linux-practice/python-test$ python -c "import requests; print(requests.__version__)"
2.34.2

入れたものを requirements.txt に残す

入れたライブラリの名前とバージョンは、pip freeze でファイルに残しておけます。別のパソコンやサーバーで同じ環境を作るときに使います。

  • 1
  • 2
pip freeze > requirements.txt
cat requirements.txt

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
(venv) kaito@demo:~/linux-practice/python-test$ pip freeze > requirements.txt
(venv) kaito@demo:~/linux-practice/python-test$ cat requirements.txt
certifi==2026.10.23
charset-normalizer==3.5.2
idna==3.20
requests==2.34.2
urllib3==2.8.0

この5行が、「この venv を作り直すためのメモ」です。requests しか入れていないのに5行あるのは、requests が動くのに必要なライブラリも、一緒に入ったからです。

requirements.txt から作り直すには

別のパソコンやサーバーで同じ環境を作るとき(または venv を消してしまったとき)は、requirements.txt を持っていけば、次の順番で作り直せます。

  1. requirements.txt があるフォルダで、python3 -m venv venv と打って、新しい venv を作る
  2. source venv/bin/activate で venv に入る
  3. pip install -r requirements.txt と打つ(-r は「このファイルに書かれたものを全部入れる」という意味)

これで、ファイルに書かれたのと同じバージョンのライブラリが入ります。venv に入らずに venv/bin/pip install -r requirements.txt と打っても、同じように venv の中に入ります。

実際に、いまの venv をまるごと消して、requirements.txt から作り直してみます(この例は、このあとの「練習用のスクリプトを動かす」で hello.py を作ったあとに試したものです。rm -r venv は、ls venv で venv のフォルダだと確かめてから打ちます)。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
deactivate
ls venv
rm -r venv
ls
python3 -m venv venv
source venv/bin/activate
pip list
pip install -r requirements.txt
pip list
python hello.py

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
(venv) kaito@demo:~/linux-practice/python-test$ deactivate
kaito@demo:~/linux-practice/python-test$ ls venv
bin  include  lib  lib64  pyvenv.cfg
kaito@demo:~/linux-practice/python-test$ rm -r venv
kaito@demo:~/linux-practice/python-test$ ls
hello.py  requirements.txt
kaito@demo:~/linux-practice/python-test$ python3 -m venv venv
kaito@demo:~/linux-practice/python-test$ source venv/bin/activate
(venv) kaito@demo:~/linux-practice/python-test$ pip list
Package Version
------- -------
pip     25.1.1
(venv) kaito@demo:~/linux-practice/python-test$ pip install -r requirements.txt
Collecting certifi==2026.10.23 (from -r requirements.txt (line 1))
  Using cached certifi-2026.10.23-py3-none-any.whl.metadata (2.5 kB)
Collecting charset-normalizer==3.5.2 (from -r requirements.txt (line 2))
  Using cached charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (46 kB)
Collecting idna==3.20 (from -r requirements.txt (line 3))
  Using cached idna-3.20-py3-none-any.whl.metadata (7.2 kB)
Collecting requests==2.34.2 (from -r requirements.txt (line 4))
  Using cached requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)
Collecting urllib3==2.8.0 (from -r requirements.txt (line 5))
  Using cached urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)
Using cached certifi-2026.10.23-py3-none-any.whl (135 kB)
Using cached charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (254 kB)
Using cached idna-3.20-py3-none-any.whl (69 kB)
Using cached requests-2.34.2-py3-none-any.whl (73 kB)
Using cached urllib3-2.8.0-py3-none-any.whl (135 kB)
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2026.10.23 charset-normalizer-3.5.2 idna-3.20 requests-2.34.2 urllib3-2.8.0
(venv) kaito@demo:~/linux-practice/python-test$ pip list
Package            Version
------------------ ----------
certifi            2026.10.23
charset-normalizer 3.5.2
idna               3.20
pip                25.1.1
requests           2.34.2
urllib3            2.8.0
(venv) kaito@demo:~/linux-practice/python-test$ python hello.py
requests を読み込めました: 2.34.2
動かした Python: /home/kaito/linux-practice/python-test/venv/bin/python

Debian 13での実行画面

作り直した直後の pip list は pip だけでしたが、pip install -r requirements.txt のあとは、requirements.txt に書いたのと同じバージョンの5つがそろい、hello.py も同じように動きました。

Using cached は、「前にダウンロードしたものが、このパソコンの中(~/.cache/pip)に残っていたので、それを使った」という意味です。同じパソコンで作り直したのでこう表示されました。別のパソコンで初めて入れるときは、Downloading と表示されて、インターネットから取ってきます。


練習用のスクリプトを動かす

nano hello.py で、次の中身を書いて保存します。どの Python で動いたかを表示する、小さなスクリプトです。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
import sys

try:
    import requests
    print("requests を読み込めました:", requests.__version__)
except ModuleNotFoundError:
    print("requests が見つかりません")

print("動かした Python:", sys.executable)

  • 1
python hello.py

(例)

  • 1
  • 2
  • 3
(venv) kaito@demo:~/linux-practice/python-test$ python hello.py
requests を読み込めました: 2.34.2
動かした Python: /home/kaito/linux-practice/python-test/venv/bin/python

venv から出る

deactivate で venv から出ます。出たあとで、同じスクリプトをパソコン全体の Python で動かしてみましょう。

  • 1
  • 2
  • 3
deactivate
which python3
python3 hello.py

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
(venv) kaito@demo:~/linux-practice/python-test$ deactivate
kaito@demo:~/linux-practice/python-test$ which python3
/usr/bin/python3
kaito@demo:~/linux-practice/python-test$ python3 hello.py
requests が見つかりません
動かした Python: /usr/bin/python3

プロンプトの先頭から (venv) が消えました。

venv の中に入れた requests は、venv の外からは見えません。「pip install したのに ModuleNotFoundError になる」ときは、たいていこの「入れた場所と、動かした Python のずれ」が原因です。


venv に入らずに、venv の Python で動かす

activate しなくても、venv の中の Python を場所つきで指定すれば、venv の中のライブラリを使えます。

  • 1
  • 2
venv/bin/python hello.py
~/linux-practice/python-test/venv/bin/python ~/linux-practice/python-test/hello.py

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
kaito@demo:~/linux-practice/python-test$ venv/bin/python hello.py
requests を読み込めました: 2.34.2
動かした Python: /home/kaito/linux-practice/python-test/venv/bin/python
kaito@demo:~/linux-practice/python-test$ ~/linux-practice/python-test/venv/bin/python ~/linux-practice/python-test/hello.py
requests を読み込めました: 2.34.2
動かした Python: /home/kaito/linux-practice/python-test/venv/bin/python

この書き方は、シェルスクリプトや、nohup、次の記事の cron で Python を動かすときにとても大事です。cron(=決まった日時に、コマンドをくり返し自動で実行してくれるしくみ)では activate を使いにくいので、venv の Python をフルパスで書くのがかんたんです。

💡
venv は Git に入れない

venv フォルダは、requirements.txt があれば、いつでも作り直せます。中身はとても大きく、パソコンごとにちがうので、Git(=ファイルの変更の履歴を記録しておく道具)で管理するときは .gitignore に venv/ を書いて、入れないようにしましょう。作り直すときは、新しい venv を作って pip install -r requirements.txt と打つだけです。

🤖 詰まったらAIに聞こう:pip や venv のエラーが直らない

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Linuxの初心者です。Python の環境づくりでつまずいています。
次のエラーの原因と直し方を、やさしく説明してください。
--break-system-packages や sudo pip は使わず、apt と venv を使う方法でお願いします。

【使っている環境】WSLのUbuntu、Debian など
【python3 --version と which python3 の結果】ここに貼る
【venv に入っているか】例:プロンプトの先頭に (venv) がついている/ついていない
【打ったコマンド】ここに貼る
【表示されたエラー】ここに貼る
【requirements.txt の中身(あれば)】ここに貼る

🔒
AIに貼る前に:秘密情報やパスワードは貼らない

Python のスクリプトや設定ファイル(.env など)には、APIキー、トークン、パスワードを書いていることがよくあります。APIキーやトークンは、Web のサービスを使うときに本人の代わりになる、合言葉のような文字列です。エラーと一緒にスクリプトを貼るときは、それらを必ず「***」に置き換えてください。.env(=APIキーなどの秘密の設定を書いておくファイル)ファイルの中身は、まるごと貼らないようにしましょう。


よくある質問

Q. python と打つと「command not found」になります。

Debian や Ubuntu では、Python 3 は python3 という名前で入っていて、python という名前はありません。この連載では、いつも python3 と打ちます。venv の中に入っているあいだは、python でも venv の Python が動きます(venv/bin に python があるからです)。

Q. venv の名前は venv でないといけませんか?

いいえ、好きな名前をつけられます。python3 -m venv .venv のように、. で始まる名前にして、ls で見えないようにする人も多いです。名前を変えたときは、source .venv/bin/activate のように、入るときの場所も変わります。

Q. いらなくなった venv は、どう消せばいいですか?

venv は、ただのフォルダです。deactivate で出てから、そのフォルダを消せば終わりです。rm -r で消すときは、消す前に ls で、本当に venv のフォルダか(中に bin や pyvenv.cfg があるか)を確かめましょう。requirements.txt が残っていれば、あとで作り直せます。


まとめ

  • Linux では、Python 本体は apt、ライブラリは venv の中の pip で入れる
  • 「externally-managed-environment」は、全体の Python を守るための案内。--break-system-packages や sudo pip では消さない
  • python3 -m venv venv で作り、source venv/bin/activate で入る。プロンプトに (venv) がつく
  • pip freeze > requirements.txt で入れたものを記録し、pip install -r で作り直せる
  • deactivate で出る。venv の外からは、venv に入れたライブラリは見えない
  • 入らずに使うときは venv/bin/python をフルパス(=いちばん上の / から書いた場所)で指定する

次の記事では、今回の venv の Python を使って、毎朝決まった時刻にスクリプトを自動で動かす cron を設定します。


次に読む記事


関連する記事