我尝试为myproject(mywords_dict)启动uwsgi:
uwsgi --http :8000 -H /root/mywords_dict/env --chdir mywords_dict -w mywords_dict.wsgi
但是收到以下错误:
Fatal Python error: initfsencoding: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
我很困惑,如果我在进入虚拟环境后运行它,uwsgi可以很好地工作。Python版本的“ mywords_dict”是3.7.1。我检查了mywords_dic / env中是否有编码包。而且我可以从那里成功运行python。有人可以帮忙吗?
*** Starting uWSGI 2.0.18 (64bit) on [Fri Aug 30 00:15:16 2019] ***
compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-36) on 29 August
2019 13:49:55
os: Linux-3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018
nodename: VM_0_17_centos
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
current working directory: /root
detected binary path: /root/.pyenv/versions/3.7.1/bin/uwsgi
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
chdir() to mywords_dict
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 3882
your memory page size is 4096 bytes
detected max file descriptor number: 100001
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI http bound on :8000 fd 4
spawned uWSGI http 1 (pid: 22645)
uwsgi socket 0 bound to TCP address 127.0.0.1:42301 (port auto-assigned) fd 3
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Python version: 3.7.1 (default, Nov 11 2018, 01:35:46) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
Set PythonHome to /root/mywords_dict/env
**Fatal Python error: initfsencoding: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'**
答案 0 :(得分:1)
这是由于错误的python虚拟环境路径。它在 .ini
变量下的 home
文件中定义。
您需要做的是分配给指向您的 venv 的 root 的这个变量路径。因此,如果您的 venv 路径是 /home/user/project/venv
,只需将此路径分配给 home
变量。确保不要在 venv 路径中包含尾随的 /
(斜杠)(因为它稍后会连接到 /bin/python
并且你最终会得到双斜杠。 >
然后保存您的 .ini
文件并再次尝试启动 uWSGI。
答案 1 :(得分:-1)
我遇到了同样的错误。 尝试这些步骤后修复:
我仍然不知道错误来自哪里以及哈哈。