谁能告诉我为什么这句话对我有用:
sudo uwsgi --chdir=/home/krzyzak21/venv/my_gless --module=my_gless.wsgi:application --env=DJANGO_SETTINGS_MODULE=my_gless.settings --master --http=127.0.0.1:8000 --home=/home/krzyzak21/venv/
但这:
sudo uwsgi --ini my_gless/config/uwsgi.ini
not and add error:
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00007f49a03debc0 (most recent call first):
<no Python frame>
[uwsgi]
projectname =my_gless
base = /home/krzyzak21/venv/%(projectname)
master = true
virtualenv = /home/krzyzak21/venv/%(projectname)
pythonpath = %(base)
chdir = %(base)
env = DJANGO_SETTINGS_MODULE=%(projectname).settings
module = %(projectname).wsgi:application
我到pythonpath
[
"",
"/usr/lib/python38.zip",
"/usr/lib/python3.8",
"/usr/lib/python3.8/lib-dynload",
"/home/krzyzak21/venv/lib/python3.8/site-packages",
]
两种配置的home
参数不同。
工作配置有效
sudo uwsgi
--chdir=/home/krzyzak21/venv/my_gless
--env=DJANGO_SETTINGS_MODULE=my_gless.settings
--home=/home/krzyzak21/venv/
--http=127.0.0.1:8000
--master
--module=my_gless.wsgi:application
,无效的
sudo uwsgi
--chdir=/home/krzyzak21/venv/my_gless
--env=DJANGO_SETTINGS_MODULE=my_gless.settings
--master
--module=my_gless.wsgi:application
--pythonpath=/home/krzyzak21/venv/my_gless
--virtualenv=/home/krzyzak21/venv/my_gless
-特别是,--home
(又名--virtualenv
)似乎是不正确的,--pythonpath
也是。在venv中不太可能有my_gless
目录。