为什么“ os”作为我的包裹的子模块出现

时间:2018-09-21 06:21:55

标签: python python-2.7 import pypi

导入我的软件包时,将“ os”显示为我的软件包的子模块。 例: 假设我有一个具有以下结构的软件包:

-- setup.py
-- my_package
  |-- __init__.py
  |-- example.py

example.py可能是:

import os

def helloWorld():
    print('Hello World')

该软件包是使用python setup.py install安装的。

进一步使用import my_package时,我发现my_package.example.os。如何避免'os'出现在子模块中?

我使用python 2.7

1 个答案:

答案 0 :(得分:1)

您不能,但这是正常且需要的。

通过import mypackage授予对mypackage.example.helloWorld的访问权限,您也可以访问mypackage.example.os,因为二者都位于mypackage.example的主命名空间中(您可以使用{{例如,os中的1}}。

请注意,这并不意味着您的软件包中包含helloWorld