virtualenv 中的日志记录模块
logging module in virtualenv
Ubuntu 12.10
在尝试让 flask+logging 在 virtualenv 中工作时,我发现日志记录模块似乎没有从 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 正常运行所需的少数.所以你看到的是正常的。
Ubuntu 12.10
在尝试让 flask+logging 在 virtualenv 中工作时,我发现日志记录模块似乎没有从 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 正常运行所需的少数.所以你看到的是正常的。