我正在开发我的第一个真正的Python Flask项目,并准备设置构建服务器来部署“最新版本”,该版本是在每次检查时构建的。
我已经设置了一个启动脚本,在其中使用uwsgi启动应用程序,这部分工作正常。我最近还开始使用virtualenv
,通过这样做,安装的包被添加到我的项目中projectname\flask\Lib\site-packages
。
我正在使用nginx
作为Web服务器,配置看起来像这样:
location / { try_files $uri @graderbuild; }
location @graderbuild {
include uwsgi_params;
uwsgi_param UWSGI_CHDIR /usr/local/grader/build;
uwsgi_param UWSGI_PYHOME /usr/local/grader/build;
uwsgi_pass 127.0.0.1:3031;
}
我使用以下命令启动uwsgi
:
exec /usr/local/bin/uwsgi --master --socket 127.0.0.1:3031
--wsgi-file restserver.py --callable app --processes 4 --die-on-term
--threads 2 >> /var/log/grader-build.log 2>&1
现在我知道我是否做得正确......目前我正在将整个文件夹部署到构建服务器上。我不想安装全局Python模块,只是为了让我的构建工作正常。对还是错?
我目前收到的错误是:
ImportError: No module named flask_wtf
如果我是正确的,我该如何配置设置以使用virtualenv
的site-packages?我偏爱将其放在startup
脚本中而不是nginx
配置中。
ImportError: No module named site
。你知道可能是什么原因吗? - Asken--no-site
тљ»тіе№╝їСйєТў»ТЌаТ│Ћт»╝тЁЦos
ТеАтЮЌсђѓ - Asken--system-site-packages
参数创建你的 virtualenv? - iMom0system-site-packages
复制到我的虚拟环境中吗? - AskenImportError: No module named site
。结果发现我只提供了虚拟环境的名称,但是你需要提供完整路径。 - RickyAuwsgi -H /path/to/your/virtualenv --ini file.ini
它需要传递--ini标志。 - Rajesh Veeranki