virtualenv 中的日志记录模块

logging module in virtualenv

Ubuntu 12.10

在尝试让 flask+logging 在 vi​​rtualenv 中工作时,我发现日志记录模块似乎没有从 virtualenv 中导入(下面代码片段的最后一行)。

(我认为当我的烧瓶应用程序在 virtualenv 中 运行 时,这会产生不打印到日志文件的副作用,但如果这个问题没有帮助,我会单独询问)

这是为什么??日志记录模块有什么特殊之处吗?

# system python
# imports come from /usr/lib/python2.7 as expected

me@home:~/Desktop$ python
Python 2.7.3 (default, Apr 10 2013, 05:13:16) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re; print re
<module 're' from '/usr/lib/python2.7/re.pyc'>                          # OK
>>> import logging; print logging
<module 'logging' from '/usr/lib/python2.7/logging/__init__.pyc'>       # OK
>>> exit()

# make virtual env

me@home:~/Desktop$ virtualenv --version
14.0.0
me@home:~/Desktop$ virtualenv testenv
New python executable in /home/me/Desktop/testenv/bin/python
Installing setuptools, pip, wheel...done.

# Try again inside venv

me@home:~/Desktop$ source testenv/bin/activate
(testenv) me@home:~/Desktop$ python
Python 2.7.3 (default, Apr 10 2013, 05:13:16) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re; print re
<module 're' from '/home/me/Desktop/testenv/lib/python2.7/re.pyc'>     # OK!
>>> import logging; print logging
<module 'logging' from '/usr/lib/python2.7/logging/__init__.pyc'>      # WHY?

Python 标准库中的大多数 模块未复制到 virtualenv - 只有 select virtualenv 正常运行所需的少数.所以你看到的是正常的。