社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  问与答

SAE 部署出现 ImportError: No module named wsgi

走遍北京的德福小猪-weibo • 9 年前 • 11468 次点击  

SAE上index.wsgi的代码如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import sys

#输出当前文件所在文件夹的绝对路径
root = os.path.dirname(__file__)

#将root路径中的上级目录
site-packages加入到Path中去                        
sys.path.insert(0, os.path.join(root, '..', 'site-packages'))   
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "defuxiaozhu.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

但是访问德芙小猪的私人博客时出现:

    Traceback (most recent call last):
    File "/data1/www/htdocs/91/defuxiaozhu/1/index.wsgi", line 11, in <module>
    from django.core.wsgi import get_wsgi_application
    ImportError: No module named wsgi

不知道是什么原因导致没有引入wsgi?我在SAE上导入了django了。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1014
 
11468 次点击  
文章 [ 6 ]  |  最新文章 9 年前
Chrome李-weibo
Reply   •   1 楼
Chrome李-weibo    9 年前

@rhzdf 我遇到了和你一样的问题,请问你解决了吗?

rhzdf
Reply   •   2 楼
rhzdf    9 年前

你好,我碰到了类似的问题:ImportError: No module named BeautifulSoup,详细描述如下:

我的python程序在本地环境测试成功,需要依赖from bs4 import BeautifulSoup,但是用saecloud install 找不到bs4,只能找到 BeautifulSoup,于是使用saecloud install beautifulsoup在本地安装好依赖包后,将site-packages目录上传并且配置index.wsgi文件sys.path.insert(0, os.path.join(root, 'site-packages')),然后在我的python程序中该如何导入这个包呢?我试过import BeautifulSoup,from BeautifulSoup import * 结果都提示ImportError: No module named BeautifulSoup

不知道这个流程是否正确,还请大侠不吝赐教

VA
Reply   •   3 楼
VA    9 年前

@走遍北京的德福小猪-weibo 不好意思,才看到。。问题解决了就好。

走遍北京的德福小猪-weibo
Reply   •   4 楼
走遍北京的德福小猪-weibo    9 年前

找到原因了,是由于项目部署在SAE上目录结构的问题: 原来的目录结构为:

--index.wsgi
--config.yaml
--manage.py 
--defuxiaozhu

但是代码是:

#将root路径中的上级目录site-packages加入到Path中去   
sys.path.insert(0, os.path.join(root, '..', 'site-packages'))

导致 SAE从index.wsgi的上一级目录查找 site-packages 文件夹, 但是site-packages和index.wsgi在同一级目录下,因此只要如下修改就可以了:

sys.path.insert(0, os.path.join(root,  'site-packages'))

主要是自己太懒参照教程拷贝代码,导致问题出现。

走遍北京的德福小猪-weibo
Reply   •   5 楼
走遍北京的德福小猪-weibo    9 年前

@VA django 1.7.0 for python 2.7

VA
Reply   •   6 楼
VA    9 年前

django什么版本的