<p>看起来你在用Python2.x运行你的应用程序,但是你的应用程序使用的模块来自Python3.x。特别是,<code>pymongo</code>试图导入模块<code>urllib.parse</code>,在Python2.x中称为<code>urlparse</code>。结果,用Python2.x执行<code>import urllib.parse</code>会导致一个重要的错误。</p>
<blockquote>
<p>I have virtual environment for Python 3.4, </p>
</blockquote>
<p>你是如何激活你的虚拟环境的?</p>
<p><strong>回复评论:</strong></p>
<blockquote>
<p>I think I did not use virtual environment to install Mongodb</p>
</blockquote>
<p>没关系。虚拟env中的pymongo代码连接到mongodb服务器(使用指定端口)。</p>
<blockquote>
<p>After installation of Flask and pymongo I deactivated virtual environment. </p>
</blockquote>
<p>关于<code>mod_wsgi</code>、<code>virtualenv</code>和设置<code>activate_this</code>变量,您是否遵循了<a href="http://flask.pocoo.org/docs/0.10/deploying/mod_wsgi/#working-with-virtual-environments" rel="nofollow">Flask docs</a>中的说明?</p>
<p><strong>回复评论#2:</strong></p>
<blockquote>
<p>My web-site works in a static mode, only when I start using database
it stops working due to this problem with parse module</p>
</blockquote>
<p>是的,您的站点在使用Python2.x执行时运行良好,但是当您开始使用db时,您使用的模块试图在Python3.x中导入库。因此,如果您继续使用Python2.x执行站点,则不会使用db。</p>
<blockquote>
<p>I could not figure out what I need to put inside activate_this.py.</p>
</blockquote>
<p>试试这个:</p>
<p>1)转到包含虚拟环境的目录:</p>
<pre><code>$ cd /some/path/to/venv
</code></pre>
<p>2)列出所有文件:</p>
<pre><code>$ ls
</code></pre>
<p>3)进入bin目录:</p>
<pre><code>$ cd bin
</code></pre>
<p>4)列出所有文件:</p>
<pre><code>$ ls
</code></pre>
<p>5)打开文件<code>activate_this.py</code>并阅读顶部的注释,例如</p>
<pre><code>$ vi activate_this.py
</code></pre>
<p>6)点击我在上一次回复中发布的Flash文档的链接,再次阅读那里的材料。</p>