Py学习  »  问与答

SAE 部署出现 ImportError: No module named wsgi

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

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
 
11914 次点击  
文章 [ 6 ]  |  最新文章 9 年前
Chrome李-weibo
Reply   •   1 楼
Chrome李-weibo    9 年前

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

rhzdf
Reply   •   2 楼
rhzdf    10 年前

你好,我碰到了类似的问题: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    10 年前

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

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

找到原因了,是由于项目部署在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    10 年前

@VA django 1.7.0 for python 2.7

VA
Reply   •   6 楼
VA    10 年前

django什么版本的