2013-04-29 15 views
11

Tôi cố gắng để thiết lập uWSGI với Kim tự tháp, nhưng tôi nhận được lỗi này, khi cố gắng uwsgi --ini-paste development.iniuWSGI Không với Không mô-đun có tên mã hóa Lỗi

Python version: 3.2.3

Thông báo lỗi:

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 

đây là những gì tôi có trong 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 

Tôi cho rằng tôi đã kiểm tra mọi thứ có thể, bao gồm:

echo LANG:$LANG LC_CTYPE:$LC_CTYPE 
LANG:en_US.UTF-8 LC_CTYPE: 

Tôi đang sử dụng virtualenv và uWSGI đã được cài đặt trong khi môi trường hoạt động. Tôi cũng đã kiểm tra rằng lib môi trường ảo của tôi có một gói có tên mã hóa (trỏ đến cài đặt python3.2 chính của tôi)

Tôi cũng đã kiểm tra this câu trả lời và this

tôi trước đó đã được cài đặt uWSGI khi virtualenv của tôi không hoạt động, nhưng sau đó tôi cài đặt nó đúng cách và loại bỏ các tập tin thực thi và py từ cài đặt trước đó.

Có cách nào để nhận nhật ký chi tiết, vui lòng cho tôi biết nếu có. Cảm ơn trước

Trả lời

2

trong trường hợp của tôi về cơ bản là vì tôi đã sử dụng python 2.7 làm trình thông dịch chính và uwsgi chọn plugin pyhon3. Bạn có thể cần phải buộc nó sử dụng:

plugins = python32

nơi python32 là cái tên thích hợp cho plugin pythhon3 của bạn.

Bạn đã kiểm tra điều này: uwsgi python3 plugin doesn't work?

0

lệnh Run uwsgi (với các tùy chọn của bạn) giống như dòng sau:

/<path-to-your-virtualenv-bin>/uwsgi --http :8008 --module project.wsgi --venv /<path-to-your-virtualenv> --chdir /<path-to-your-project>

Bạn sẽ tìm thấy các vấn đề.

Bạn có bỏ lỡ thông số mô-đun của mình không?

2

Tôi cũng đã gặp sự cố này ngày hôm nay và tôi đã cố gắng đặt plugins=python34, nhưng nó không hoạt động trên Ubuntu 14.04 và Python 3.4.3

Đây là những gì tôi đã làm để sửa chữa nó:

  1. sudo pip uninstall uwsgi

  2. họ gặp khó khăn khi tôi chạy sudo pip install uwsgi, và chạy đầu tiên này:

    sudo apt-get install python-dev

  3. (sudo)pip install uwsgi

0

Chỉ có cùng một vấn đề. Những gì tôi nhận ra sau đó là tôi đã cài đặt uwsgi với pip install uwsgi trong virtualenv. Khi tôi rời virtualenv, tôi đã cài đặt uwsgi trên hệ thống cục bộ với pip3 install uwsgi (thông báo tôi đã viết pip thay vì pip3). Vì vậy, tôi đã gỡ cài đặt với pip3 uninstall uwsgi và tôi đã lặp lại với pip install uwsgi. Làm việc như người ở.

4

Kiểm tra xem

virtualenv = /root/path/to/virtualenv 

điểm để đi đúng đường. Tôi đã giải quyết được lỗi của mình bằng cách sửa đường dẫn đã nhập sai này.

+0

Mặc dù nó có vẻ hiển nhiên, tôi đã giảm cho điều đó ngày hôm nay. Tại sao trên trái đất không thể có một thông báo lỗi để biểu thị rằng đường dẫn ảoev không tồn tại? Chúa và uwsgi chỉ biết câu trả lời cho điều đó –

Các vấn đề liên quan