在python虚拟环境下pip了flask,上线程序后,提示没有引入flask 怎么办?

monsterzzz
  • 131

centos服务器错误提示

*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 2850)
...
*** Stats server enabled on 127.0.0.1:9191 fd: 15 ***
Traceback (most recent call last):
  File "/home/LR/flask/hah.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask

uwsgiconfig.ini

[uwsgi]

socket = 127.0.0.1:8001  
   
chdir = /home/LR/flask    
venv= /home/LR/flask/venv

wsgi-file = hah.py      

callable = app

processes = 4     

threads = 2     

stats = 127.0.0.1:9191      

nginx.conf


events {
    worker_connections  1024;
}
http {
    include       mime.types;    
    default_type  application/octet-stream;    
    sendfile        on;    
    keepalive_timeout  65;

    server {
        listen       80;        
        server_name  ~~~~~~~~~;
        #charset koi8-r;
        access_log  /home/LR/flask/logs/access.log;   
                                                             
        error_log  /home/LR/flask/logs/error.log;        

        location / {

            include        uwsgi_params;     
            uwsgi_pass     127.0.0.1:8001;   
                                            

            uwsgi_param UWSGI_PYHOME /home/LR/flask/venv;   

            uwsgi_param UWSGI_CHDIR  /home/LR/flask;    

            uwsgi_param UWSGI_SCRIPT hah:app;     

        }
  
}

项目路径
/home
--/LR
----/flask
-------uwsgiconfig.ini
-------hah.py
-------/logs
---------access.log
---------error.log
-------/venv
---------...

回复
阅读 2.8k
4 个回答

uwsgi配置文件有写明虚拟环境的路径吗?

方法一:将虚拟环境下的python解释器路径添加到配置文件中,并注释掉默认的python解释器;
方法二:就是在系统默认python解释器下安装flask咯~

发现原因是因为uwsgi没有从虚拟环境下导入python库。。。

我添加了

import sys
sys.path.append('/home/LR/flask/venv/lib/python3.4/site-packages') #虚拟环境下的python库路径

之后就可以了。
但是我想着这个应该是可以配置的吧?不知道该在哪里设置。。。希望有人能帮忙解答一下...
应该在哪里设置什么东西就不用在py文件里面设置路径了

找了好久,发现解决方案了。
在uwsgiconfig.ini文件中,加入


pythonpath = /home/LR/flask/venv/lib/python3.4/site-packages

就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏