【发布时间】:2013-10-10 09:08:17
【问题描述】:
我想在我的程序中添加一个external 包,其中应包含它使用的所有食谱和第三方包。我不想强迫任何人(包括我自己)安装这些软件包,更不用说版本不兼容了。我只是
想将它们放入自己的子文件夹并使用它们。他们,
当然,来自各种来源。
文件夹结构应如下所示:
| main.py
|---[external]
|---[networkx]
| | ...
|---[xlrd]
| | ...
| __init__.py
| recipe1.py
| recipe2.py
我想在我的程序中通过以下方式访问包和食谱:
import external
import external.xlrd
from external import networkx as nx
import external.recipe1
from external import recipe2 as magic
from external import *
但是,任何包都可能包含绝对导入,这可能会导致 ImportError 假设 external 有一个空的 __init__.py:
>>> import external.networkx
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File ".\external\networkx\__init__.py", line 46, in <module>
from networkx import release
ImportError: No module named 'networkx'
有没有一种简单的方法可以制作这样的外部包?
【问题讨论】:
标签: python python-3.x import