简体   繁体   English

从包中导入模块

[英]Importing module from package

I am trying to import a module from a package set up as per instructions from Modules Python Tutorial . 我正在尝试根据Modules Python Tutorial中的指令从包中设置导入模块。 My directory tree is: 我的目录树是:

$ pwd
/home/me/lib/python/pygplib

$ ls *
__init__.py

atcf:
atcf.py  __init__.py

I am able to import pygplib but pygplib.atcf does not seem to exist: 我能够导入pygplibpygplib.atcf似乎不存在:

In [1]: import pygplib

In [2]: dir(pygplib)
Out[2]: ['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']

What am I doing wrong? 我究竟做错了什么? All my __init__.py files are blank. 我的所有__init__.py文件都是空白的。 Thank you. 谢谢。

Submodules don't get imported when you import the top package, and thus don't appear in dir . 导入顶部包时,子模块不会导入,因此不会出现在dir Instead, do 相反,做

from pygplib import atcf

Or 要么

from pygplib.atcf import atcf

atcf is not imported automatically into the pygplib namespace, but you can arrange for this to happen by putting atcf不会自动导入pygplib命名空间,但您可以通过put来安排

import atcf

in pygplib/__init__.py . pygplib/__init__.py

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

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