【发布时间】:2018-03-29 08:59:57
【问题描述】:
我正在尝试使用django-websocket-redis pip 包在 Raspberry Pi 2 上创建一个带有 WebSockets 的 Django 应用程序。 /manage.py runserver 似乎不起作用(得到 404 调用 /ws/ 尽管它是由 WEBSOCKET_URL = '/ws/' 在 settings.py 中设置的),我想尝试像 described here in the official docs 这样的独立 uWSGI 服务器。
当我运行uwsgi 时,我遇到了奇怪的错误。我认为这是由错误的 python 版本引起的。 uwsgi 的输出显示使用了 Python 2.7:
Python version: 2.7.13 (default, Jan 19 2017, 14:48:08) [GCC 6.3.0 20170124]
但我的项目需要 Python 3(正好是 3.5)。我更改了默认的 python 环境,使python comamnd 指向 python 3.5 而不是 2.7。此外,我使用--plugin 开关传递了版本,如下所示:
uwsgi --http :9090 --plugin=python35 --wsgi-file wsgi.py
我还为所有 pip 包使用了pip3,以确保没有使用 2.x 包。这似乎没有效果,导致我的脚本中断,uwsgi 告诉我使用了 Python 2.7...
【问题讨论】:
-
您不应该更改默认的 Python,这可能会破坏您的系统。你应该为你想要使用的 Python 版本安装 uwsgi。
-
我使用
pip3完成了这项工作,它应该为 Python3 安装包。但这并没有奏效,因为仍然使用 2.7.13 而不是 3.5...所以我认为 uwsig 可能会使用python作为默认值,这也不起作用。 -
你是如何构建 python35 插件的?
-
尝试设置 pyhome 指向你的 virtualenv:uWSGI pyhome
-
我面临同样的问题,我希望我的项目在 python 3.5 上运行,请你帮我完成步骤。这是我面临的确切问题。请帮忙。谢谢
标签: python django raspberry-pi python-3.5 uwsgi