乌兹基Flask.ini使用全局Python还是virtualvenpython?

2024-10-01 17:25:23 发布

您现在位置:Python中文网/ 问答频道 /正文

以下代码位于名为flask1.ini的uWSGI配置文件中:

[uwsgi]
socket = /tmp/flask1.sock
chmod-socket = 777
evn = PRODUCTION=TRUE
module = indy
callable = app
processes = 4
threads = 2
logto = /var/indylog

生产服务器是在ubuntu 14.04上使用uWSGI和{}为Flask应用程序设置的。在

我编写了一个使用Python 2.7的新模块,它在我的本地ubuntu 14.04virtualenv(Flask development server)上运行,并且与生产环境设置的相同nginx和{}。然而,当我在生产服务器上实时部署相同的代码时,它给出了一堆syntax errors,我正试图弄清楚为什么会这样。在

我在本地桌面和生产服务器上运行python --version,它们都是Python 2.7.6。在

我的问题:对于生产服务器上的上述uWSGI配置,使用的是Python?机器Python或{}?在


Tags: 代码服务器flaskubuntu配置文件socketuwsgiini
3条回答

准确地说,也不是。uwsgi实际上并不运行Python二进制文件,它直接使用libpython。它只需跟随系统的LD_LIBRARY_PATH找到相应的libpython库,这通常不受virtualenv的影响。在

然而,受virtualenv影响的是uwsgi将从哪个位置加载您的包。您仍需要在uwsgi.ini中添加一行来指定virtualenv的路径,如下所示:

virtualenv = /path/to/your/virtualenv

如果您希望将uwsgi配置为使用不同版本的libpython,则需要为每个版本构建相应的插件,并在uwsgi.ini中指定它。您可以找到有关此here的详细信息

在virtualenv中安装uwsgi以使用配置env的Python版本。/path/to/env/bin/uwsgi ini /path/to/flask.ini。而不是globaluwsgi path/to/your/flask.ini,后者将使用系统安装的Python版本。在

首先,您必须为源代码创建Python 3环境: virtualenv -p /usr/bin/python3 path_to_your_project/env

和安装所需的数据包:

cd path_to_your_project
source env/bin/activate
# you can use pip to install packets required, e.g:
pip install -r requirements.txt

最后,将virtualenv添加到uwsgi.ini文件文件:

^{pr2}$

相关问题 更多 >

    热门问题