FreeBSD:在 uwsgi 中使用 python3 而不是 python2

FreeBSD:在 uwsgi 中使用 python3 而不是 python2

我有一台安装了 FreeBSD 10.1 的服务器。我想使用 uwsgi+nginx+python3 在其上部署 Django 站点,但遇到了一些问题。

该网站是为 python3 编写的,我安装了 python3.4,然后从 ports 安装了 python3 和 python,配置了 nginx 并编写了 uwsgi ini 文件和 sock 文件。然后我尝试启动该项目。它在 virtualenv 中完美运行。

然后我使用 pip3 全局安装了 uwsgi。但是当我尝试在全球范围内启动该项目时,我收到错误

no module named site

这意味着 uwsgi 使用 python2 而不是 3。我试图解决这个问题:

  • 在 make.conf 中设置 DEFAULT_VERSIONS=python=3.4;
  • 将 $PYTHONHOME 和 $PYTHONPATH 设置为 /usr/local/bin/python3;
  • 将链接 /usr/local/bin/python 从 python2 更改为 python3;

这没有帮助。如何强制uwsgi使用python3而不是python2?

终端PS图:http://prntscr.com/9os1f2

答案1

设置时

DEFAULT_VERSIONS=python=3.5 python2=2.7 python3=3.5

/etc/make.conf必须重建使用默认版本的 Python 的端口。

答案2

您可以virtualenv在一台服务器上处理不同的 Python 版本,并根据需要使用完全独立的 Python 安装。

http://docs.python-guide.org/en/latest/dev/virtualenvs/

相关内容