

現在、DjangoをさくらVPSにデプロイしようとしており、下記サイトを参考にしているのですが、このサイトの環境と私の環境で違う点は私はvenvではなくpipenvを使用している点です。

[さくらの VPS (Ubuntu 20.04) で Django アプリを作る](https://notemite.com/django/sakura-
vps-django-02/#web-server)

gunicornを自動化する為にsystemdの中で.socketと.serviceを作りました。  
そこで問題が起きました。pipenvではbinフォルダがないため、記事にある.serviceと同じようにExecStartを書くことができません。  
pipenvを使用している場合の.serviceの書き方を教えてください。

現状、Error: the command gunicorn could not be found within PATH or Pipfile's
[scripts].  
とエラーが出ます。

追記： statusを確認するとこのような結果が表示されます。

[code]

    ● sample.service - gunicorn daemon
         Loaded: loaded (/etc/systemd/system/sample.service; disabled; vendor preset: enabled)
         Active: failed (Result: exit-code) since Sat 2022-07-16 12:42:38 JST; 4s ago
    TriggeredBy: ● sample.socket
        Process: 57015 ExecStart=/usr/local/bin/pipenv run gunicorn --access-logfile - --workers 3 --bind unix:/run/sample.sock config.wsgi:application (code=exited, status=1/FAIL>
       Main PID: 57015 (code=exited, status=1/FAILURE)
    
     7月 16 12:42:37 tk2-117-59435 systemd[1]: Started gunicorn daemon.
     7月 16 12:42:38 tk2-117-59435 pipenv[57015]: Error: the command gunicorn could not be found within PATH or Pipfile's [scripts].
     7月 16 12:42:38 tk2-117-59435 systemd[1]: sample.service: Main process exited, code=exited, status=1/FAILURE
     7月 16 12:42:38 tk2-117-59435 systemd[1]: sample.service: Failed with result 'exit-code'.
    
[/code]

また.serviceと.socketの内容以下の通りです。

sample.service

[code]

    Description=gunicorn daemon
    Requires=sample.socket
    After=network.target
    [Service]
    User=root
    Group=root
    WorkingDirectory=/var/www/sample.com/html/MyApp
    ExecStart=/usr/local/bin/pipenv run gunicorn --access-logfile -  --workers 3 --bind unix:/run/sample.sock config.wsgi:application
    [Install]
    WantedBy=multi-user.target
    
[/code]

sample.socket

[code]

    [Unit]
    Description=gunicorn socket
    [Socket]
    ListenStream=/run/sample.sock
    [Install]
    WantedBy=sockets.target
    ~
    
[/code]

**環境:**  
Django 3.2  
Python 3.8  
pipenv  
gunicorn  
nginx  
ubuntu


CC BY-SA 4.0
2022-07-14T22:42:58.987
89986
2022-07-16T12:54:58.057
2022-07-16T12:54:58.057
41131
41131
question
python ubuntu django systemd pipenv
pipenv 使用環境で gunicorn を自動起動するための Systemd ユニットファイルをどう記述すれば良いですか？