PYTHON仮想環境(venv)を使ってDjangoの本番実行はきているのですが、 仮想環境を使ってるという実感がありません。
通常仮想環境でプログラム実行しようとしたとき、仮想環境内のプログラムを実行するために Activateすると思うのですが、下記のサービス開始にはそれがありません。 (mysiteというサービスを作って中で、gunicornを実行しています。)
仮想環境フォルダを指定してその中のgunicorn実行をしているので、それは良いと思うのですが、pythonやその他のライブラリは、なぜ仮想環境のものが動作するのでしょうか。
/etc/systemd/system/misite.service
[Service] User= [ユーザ名] Group= www-data WorkingDirectory= /home/[ユーザ名]/mysite ExecStart= /home/[ユーザ名]/env/bin/gunicorn \ --access-logfile - \ --workers 3 \ --bind unix:/run/gunicorn/mysite.sock \ config.wsgi:application
ExecStart= /home/[ユーザ名]/env/bin/gunicorn .... のgunicornは仮想環境のものを指定していることはわかる。
不躾ではございますが、理屈がよくわからないため、質問させてもらえませんでしょうか。