繁体   English   中英

为什么这个导入工作?

[英]Why does this import work?

flask的根文件夹( https://github.com/mitsuhiko/flask )项目(简化)如下所示:

flask/
    __init__.py
    ... some more files ...
tests/
    test_basic.py
    ... some more files ...

test_basic.py的代码:

import flask
# some more code ...

这个导入是如何成功的,因为flask包不是文件树中test_basic.py的兄弟? Python如何知道在哪里找到flask

希望看到from .. import flask 但事实并非如此。 为什么这样做? 项目使用py.test作为测试方法是否重要?

importsite_packages目录而不是您的模块import全局flask

如果你将卸载flask,那么你将得到一个ImportError异常。

有两种可能性。 第一个是烧瓶项目根目录在PYTHONPATH 如果是这种情况,那么因为在flask目录中有一个__init__.py文件,它就可以导入整个flask模块。 第二种(更可能的)可能性是Python实际上是从您的site_packages目录导入flask模块,您可能使用像pip install flask这样的东西安装了该模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM