从同名脚本导入Python包

2024-04-25

我正在尝试通过将脚本从包目录移动到顶级脚本目录来重新组织我的 Python 项目。经过这些更改后,我的项目层次结构如下所示:

MyProject/
    setup.py

    scripts/
        my_package.py

    my_package/
        __init__.py
        module_foo.py

请注意脚本和包如何具有相同的名称。

剧本my_package.py看起来像这样:

# MyProject/scripts/my_package.py
import os
try:
    import my_package
    print os.path.abspath(my_package.__file__)
except ImportError as e:
    print e

当我们运行上面的脚本时,解释器导入当前模块而不是package同名(note:包裹my_package已经安装到site-packages作为一个鸡蛋,我们的虚拟环境已正确激活。)

我怎样才能导入package my_package来自script my_package.py鉴于他们有相同的名字?

其他技术信息:

  • Python 2.7.3
  • Ubuntu 服务器 12.04 LTS
  • 虚拟环境 1.11.6

对我来说它适用于

sys.path.insert(0, '..')

因为导入做了类似的事情for path in sys.path:.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从同名脚本导入Python包 的相关文章

随机推荐