在CentOS 6.4中,我在/var/www/html/venv文件夹中创建了python虚拟环境。然后在激活虚拟环境后,我为我的flask应用程序安装了所有必要的python库。我检查了一下,Flask库位于/var/www/html/venv/lib/python2.7/site-packages文件夹中。我已经安装并加载了mod_wsgi。现在,在我的flask应用程序中(位于/var/www/html/truckman/wsgi文件夹中),我创建了truckman。包含以下内容的wsgi文件:
activate_this = '/var/www/html/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import sys
sys.path.insert(0, '/var/www/html/truckman/wsgi/')
from app import app as application
import config
application.config.from_object(config.Dev)
此外,在/etc/httpd/conf/httpd中。形态一新增:
<VirtualHost *>
WSGIScriptAlias / /var/www/html/truckman/wsgi/truckman.wsgi
<Directory /var/www/html/truckman/wsgi>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
现在,在/var/www/html/truckman/wsgi文件夹中,我创建了run。包含以下内容的py文件:
from app import app as application
import config
application.config.from_object(config.Dev)
if __name__ == "__main__":
application.run(port=5001)
现在我用flask的开发服务器测试了我的应用程序;如果我执行“python run.py”,我的应用程序就会按预期工作。我可以浏览到localhost:5001,应用程序的初始页面就会显示出来。
然后我用mod_wsgi测试了我的应用程序:First killed run。py进程,并重新启动httpd服务,然后浏览到localhost;但它返回:“500内部服务器错误”。在/etc/httpd/logs/error\u日志文件中,我发现了以下错误消息:“ImportError:没有名为flask的模块”。我的设置有什么问题?
这个conf应该是这样的:
<VirtualHost *>
ServerName example.com
WSGIScriptAlias / /var/www/firstapp/hello.wsgi
WSGIDaemonProcess hello python-path=/var/www/firstapp:/var/www/firstapp/env/lib/python2.7/site-packages
<Directory /var/www/firstapp>
WSGIProcessGroup hello
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
最好在etc/apache2/sites available/hello中。conf,所以这部分可能是问题的根源。
您可以在:flask中的Hello world中查看工作示例代码。
尝试在虚拟环境中添加python 2.7文件夹的路径。
sys.path.insert(1, '/path/to/virtualenv/lib/python2.7')
我在这里遵循烧瓶教程: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world 我达到了我尝试的程度/跑py和我得到: 这看起来类似于: ImportError:没有名为flask的模块 但他们的解决方案没有帮助。作为参考,我确实有一个名为flask的文件夹,其中一位用户提到该文件夹可能会导致问题
我一直想弄明白这个问题,但弄不明白。我的应用程序结构如下: 我为beanstalk提供了Python2.7环境,为我的虚拟环境提供了同样的环境。我在pip列表和要求中有所有需要的包。txt。eb config中yml文件中的我的WSGI路径设置为/myapp/application。皮耶。我从eb日志中得到的确切错误是: mod_wsgi(pid=2330):目标WSGI脚本'/opt/pytho
我正在尝试使用mod_wsgi在Ubuntu 16.04上通过apache安装flask应用程序。问题是wsgi脚本无法导入任何python模块。 我已经验证了wsgi脚本是可执行的,并用python独立运行了它。我还验证了我的flask应用程序可以自己运行,没有错误。我能够在我运行的任何其他python程序中导入所有模块。我还安装了带有pip和源代码的烧瓶。似乎什么都没用。 这是我的错误日志:
我试图在python中构建一个可以从XAMPP的Apache运行的应用程序,因此我安装了flask(),并按照以下说明进行mod_wsgi安装http://modwsgi.readthedocs.io/en/develop/user-guides/quick-installation-guide.html.我使用XAMPP的Apache,版本2.4.29和anaconda的python 3.6.4
谢谢你的回应。 向Joern问好
我有一个基本的“hello world”烧瓶应用程序正在运行。 我在Ubuntu 14.04上,使用Apache 2.4。我安装了mod_wsgi。 我创建了一个~/web/piFlask/venv/来保存一个安装了flask的virtualenv创建的Python2。 但是,我希望我的flaskapp导入我编写的Python3. x模块。 我需要做什么才能做到这一点? 我试着创建一个