使用 Django 和 pipenv 的 uwsgi.ini 文件的正确设置

Right settings for uwsgi.ini file with Django and pipenv

通常,我不使用 pipen,也不使用 virtualenv、virtualenvwrapper 和 requirements.txt 我的 django 项目。在这种情况下,我的 uwsgi.ini 文件如下所示: [uwsgi]

project = cv-base
uid = cvc
base = /home/%(uid)
chdir = %(base)/%(project)
home = %(base)**/Env**/%(project) <----!!!!!!!
module = %(project).wsgi:application
master = true
processes = 5
socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true

其中值 home 有指向我的 virtualenv thrue 文件夹 Env 的链接。但是现在我不能拥有这个文件夹,并且无法忍受在这里替换什么。

我在日志文件中收到错误

 !!! Python Home is not a directory: /home/cvc/Env/cv-base !!!
Jun 26 13:48:55 CV-base uwsgi[12482]: Set PythonHome to /home/cvc/Env/cv-base

您可以使用 pipenv --venv 来打印 pipenv 正在使用的虚拟环境目录。

$ mkdir test
$ cd test
$ pipenv shell
…
$ pipenv --venv
/home/foobar/.local/share/virtualenvs/a-atLBagCC

因此您应该在 uwsgi.ini 文件中使用选项 virtualenv = /home/foobar/.local/share/virtualenvs/a-atLBagCC