使用Python 2和Python 3的环境中的uWSGI
回答: 原创帖子: 我从python2和uwsgi开始。让我的Django应用程序运行。我安装了python3,现在我正试图让我的应用程序使用python3运行 然而,似乎uwsgi不想使用python3运行-即使通过python3为我的virtualenv传递venv标志。我有一个皇帝管理着几个附庸,如果我把文夫旗也包括在内,他说附庸不起作用 在测试服务器上,我只是删除了python2,然后将/usr/bin/python别名为python3。解决了这个问题。但这似乎是错误的解决方案,会导致我的应用程序出现更大的停机时间 让uWSGI在不删除python3的情况下使用python3的最佳方法是什么?真的要创建别名吗 更新1: 在服务器上安装pip3使用Python 2和Python 3的环境中的uWSGI,python,django,python-3.x,virtualenv,uwsgi,Python,Django,Python 3.x,Virtualenv,Uwsgi,回答: 原创帖子: 我从python2和uwsgi开始。让我的Django应用程序运行。我安装了python3,现在我正试图让我的应用程序使用python3运行 然而,似乎uwsgi不想使用python3运行-即使通过python3为我的virtualenv传递venv标志。我有一个皇帝管理着几个附庸,如果我把文夫旗也包括在内,他说附庸不起作用 在测试服务器上,我只是删除了python2,然后将/usr/bin/python别名为python3。解决了这个问题。但这似乎是错误的解决方案,会导致我
apt install pip3
,并使用pip3 install uwsgi
安装uwsgi,现在可以在python3中运行uwsgi了。但是我不理解这种行为。我现在收到一个与导入相关的错误:没有名为“encodings”的模块。
更新2:uwsgi现在正在使用3.5,而我的viortualenv正在使用python3.6。我用python3.5创建了一个有效的环境
如何为python3.6构建uwsgi?因为以上是一种暴力手段。添加
--插件python3
在正在运行的命令中,使用
apt install uwsgi-plugin-python3uwsgi是否向您提供任何错误消息、回溯等?@Wyatt yes。这是最新的进展
Python版本:3.5.2(默认,2017年9月14日,22:51:06)[GCC 5.4.0 20160609]
将PythonHome设置为/opt/mysite/venvs/p36致命Python错误:Py_初始化:无法获取区域设置编码导入错误:没有名为“encodings”的模块当前线程0x00007f22164ea700(最新调用优先):中止(内核转储)
您能否安装uwsgi
而不是通过pip
安装它?另外,您是否将/usr/bin/python
恢复到原来的状态?@Wyatt/usb/bin/python是正常的,别名在测试服务器上。所以我现在开始工作了。似乎uwsgi和python版本都必须与virtualenv中的python版本相匹配。我将更新主要问题