当我使用http://github.com/joshthecoder/tweepy-examples时,
我发现:
import tweepy
在appengine \ oauth_example \ handlers.py
中但我找不到tweepy文件或tweepy的'py'文件,除了tweepy.zip文件,
我不认为这是对的,因为我从不导入zip文件,
我在app.py中找到了这个:
import sys
sys.path.insert(0, 'tweepy.zip')
为什么?
如何导入zip文件..
感谢
更新
a.py:
import sys
sys.path.insert(0, 'b.zip')
import b
print b
b.zip:
b file
|-----__init__.py
|-----c.py
c.py:
cc='ccccc'
错误是:
> "D:\Python25\pythonw.exe" "D:\zjm_code\a.py"
Traceback (most recent call last):
File "D:\zjm_code\a.py", line 9, in <module>
import b
ImportError: No module named b
updated2
现在好了,
错误的原因是:我将b.rar重命名为b.zip
答案 0 :(得分:5)
搜索模块时,zip文件的名称无关紧要 - 这允许您在文件名中包含版本号,例如my_b_package.1.2.3.zip
。
要从zip文件导入,您需要复制其中的完整包结构。在这种情况下,您需要一个包b
,包含__init__.py
和c.py
模块。
即:
b.zip
|
| -- b <dir>
| -- __init__.py
| -- c.py
答案 1 :(得分:2)
您不导入zip文件,将它们添加到sys.path
,以便您可以在其中导入模块。 sys.path
是一个列表,因此正常的列表方法/操作(例如.append()
)都可以使用它。