热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ImportError:没有名为解析的模块

如何解决《ImportError:没有名为解析的模块》经验,为你挑选了1个好方法。

我正在尝试使用mongodb和pymongo运行Web应用程序以从数据库提供数据。

我得到的错误是ImportError:没有名为parse的模块。请参阅以下来自apache2 Web服务器的error.log:

mod_wsgi (pid=18824): Target WSGI script '/var/www/FlaskApp/flaskapp.wsgi' cannot be loaded as Python module.
[:error] [pid 18824:tid 139967053518592] mod_wsgi (pid=18824): Exception occurred processing WSGI script '/var/www/FlaskApp/flaskapp.wsgi'.
[:error] [pid 18824:tid 139967053518592] Traceback (most recent call last):
File "/var/www/FlaskApp/flaskapp.wsgi", line 12, in 
[:error] [pid 18824:tid 139967053518592]      from ABC import app as application
[:error] [pid 18824:tid 139967053518592]    File "var/www/FlaskApp/ABC/__init__.py", line 1, in 
[:error] [pid 18824:tid 139967053518592]     from pymongo import MongoClient
[:error] [pid 18824:tid 139967053518592]   File "/var/www/FlaskApp/ABC/venv/lib/python3.4/site-packages/pymongo/__init__.py", line 92, in 
[:error] [pid 18824:tid 139967053518592]     from pymongo.connection import Connection
[:error] [pid 18824:tid 139967053518592]    File "/var/www/FlaskApp/ABC/venv/lib/python3.4/site-packages/pymongo/connection.py", line 39, in 
[:error] [pid 18824:tid 139967053518592]      from pymongo.mongo_client import MongoClient
[:error] [pid 18824:tid 139967053518592]    File "/var/www/FlaskApp/ABC/venv/lib/python3.4/site-packages/pymongo/mongo_client.py", line 46, in 
[:error] [pid 18824:tid 139967053518592]      from pymongo import (auth,
[:error] [pid 18824:tid 139967053518592]    File "/var/www/FlaskApp/ABC/venv/lib/python3.4/site-packages/pymongo/uri_parser.py", line 18, in 
[:error] [pid 18824:tid 139967053518592]     from urllib.parse import unquote_plus
[:error] [pid 18824:tid 139967053518592]  ImportError: No module named parse

我有适用于Python 3.4,Flask和pymongo的虚拟环境。我正在使用mongodb 2.6.7。

有什么想法会导致问题吗?



1> 7stud..:

看起来您正在使用python 2.x运行您的应用程序,但是您的应用程序使用的模块来自python3.x。特别是,pymongo正在尝试导入在python 2.x中urllib.parse调用的模块urlparse。结果,import urllib.parse 使用python 2.x 执行会导致ImportError。

我有适用于Python 3.4的虚拟环境,

您是如何激活虚拟环境的?

对评论的回应:

我想我没有使用虚拟环境来安装Mongodb

没关系。虚拟环境中的pymongo代码是连接到mongodb服务器(使用指定端口)的代码。

安装Flask和pymongo后,我停用了虚拟环境。

您已按照说明书瓶文档与问候mod_wsgivirtualenv以及设置activate_this变量?

对评论2的回应:

我的网站以静态模式工作,仅当我开始使用数据库时,由于解析模块存在此问题,该网站才停止工作

是的,您的网站在使用python 2.x执行时可以正常工作,但是当您开始使用db时,您正在使用尝试在python 3.x内导入库的模块。结果,如果您继续使用python 2.x执行站点,那么您将不会使用数据库。

我无法弄清楚需要在Activate_this.py中放入什么。

尝试这个:

1)转到包含您的虚拟环境的目录:

$ cd /some/path/to/venv

2)列出所有文件:

$ ls 

3)进入bin目录:

$ cd bin

4)列出所有文件:

$ ls

5)打开文件activate_this.py并阅读顶部的注释,例如

$ vi activate_this.py

6)单击指向我在以前的响应中发布的Flash文档的链接,然后在那里再次阅读材料。


推荐阅读
author-avatar
手机用户2502905937_275
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有