J'essaie de configurer uWSGI avec Pyramid, mais j'obtiens cette erreur lorsque j'essaie uwsgi --ini-paste development.ini
Python version: 3.2.3
Message d'erreur:
uwsgi socket 0 bound to UNIX address /tmp/uwsgi.sock fd 3
Python version: 3.2.3 (default, Oct 19 2012, 20:08:46) [GCC 4.6.3]
Set PythonHome to /root/path/to/virtualenv
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named encodings
Voici ce que j'ai dans development.ini
[uwsgi]
socket = /tmp/uwsgi.sock
master = true
processes = 4
harakiri = 60
harakiri-verbose = true
limit-post = 65536
post-buffering = 8192
daemonize = ./uwsgi.log
pidfile = ./pid_5000.pid
listen = 256
max-requests = 1000
reload-on-as = 128
reload-on-rss = 96
no-orphans = true
log-slow = true
virtualenv = /root/path/to/virtualenv
Je suppose que j'ai tout vérifié, y compris ce qui suit
echo LANG:$LANG LC_CTYPE:$LC_CTYPE
LANG:en_US.UTF-8 LC_CTYPE:
J'utilise virtualenv et uWSGI a été installé pendant que l'environnement était actif. J'ai également vérifié que la bibliothèque de mon environnement virtuel contient un paquet nommé encoding (pointant vers mon installation principale de python3.2)
J'ai également vérifié ceci répondre et cela
J'avais précédemment installé uWSGI lorsque mon virtualenv n'était pas actif, mais je l'ai ensuite installé correctement et j'ai supprimé les fichiers exécutables et les fichiers py de l'installation précédente.
Existe-t-il un moyen d'obtenir des journaux détaillés? Merci de me le faire savoir s'il en existe. Merci d'avance
dans mon cas, c’est essentiellement parce que j’ai utilisé python 2.7 comme interprète principal et que uwsgi a choisi le plugin pyhon3. Vous pourriez avoir besoin de le forcer en utilisant:
plugins = python32
où python32
est le nom approprié pour votre plugin pythhon3.
Avez-vous vérifié ceci: Le plugin uwsgi python3 ne fonctionne pas ?
Regarde ça
virtualenv = /root/path/to/virtualenv
pointe vers le bon chemin. J'ai résolu mon erreur en corrigeant ce chemin mal typé.
J'ai également rencontré ce problème aujourd'hui et j'ai essayé de définir plugins=python34
, mais cela ne fonctionnait pas sous Ubuntu 14.04 et Python 3.4.3.
Voici ce que j'ai fait pour résoudre ce problème:
Sudo pip uninstall uwsgi
quelque chose ne va pas quand je lance Sudo pip install uwsgi
, et lancez ceci en premier:
Sudo apt-get install python-dev
(Sudo)pip install uwsgi
Exécutez la commande uwsgi (avec vos options) exactement comme la ligne suivante:
/<path-to-your-virtualenv-bin>/uwsgi --http :8008 --module project.wsgi --venv /<path-to-your-virtualenv> --chdir /<path-to-your-project>
Vous trouverez les problèmes.
Avez-vous manqué votre module param?
Juste eu le même problème. Ce que j’ai réalisé par la suite, c’est que j’ai installé uwsgi avec pip install uwsgi
dans virtualenv. Une fois que j'ai quitté virtualenv, j'ai installé uwsgi sur le système local avec pip3 install uwsgi
(remarquez que j'ai écrit pip au lieu de pip3). J'ai donc désinstallé avec pip3 uninstall uwsgi
et j'ai répété avec pip install uwsgi
. Travaillé comme un charme.
J'ai rencontré un message d'erreur similaire, mais avec une variante de version python:
Python version: 3.4.3 (default, Nov 28 2017, 16:44:58) [GCC 4.8.4]
Cela est dû à l'utilisation d'un environnement virtuel python3.6, mais uwsgi étant configuré pour python3.4. J'ai reconfiguré l'environnement virtuel en utilisant python3.4 et tout allait bien.