2010-05-22 47 views
5

當我使用http://github.com/joshthecoder/tweepy-examples如何導入 '拉鍊' 的文件到我的.py

我發現:

import tweepy 
在AppEngine上

\ oauth_example \ handlers.py

,但我可以「找不到一個tweepy文件或tweepy的‘PY’的文件,除tweepy.zip文件,

我不認爲這是正確的,cauz我從來沒有導入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 to b.zip

回答

5

搜索模塊時壓縮文件的名稱是無用的 - 這允許您在文件名中包含版本號,例如my_b_package.1.2.3.zip

要從zip文件導入,您需要複製其中的完整軟件包結構。在這種情況下,您需要一個包b,其中__init__.pyc.py模塊。

即:

b.zip 
| 
| -- b <dir> 
    | -- __init__.py 
    | -- c.py 
1

您不輸入z ip文件,您將它們添加到sys.path,以便您可以在其中導入模塊。 sys.path是一個列表,因此正常的列表方法/操作(例如.append())都適用。

+0

,但我不能在其中導入模塊,爲什麼呢? – zjm1126 2010-05-22 04:06:48

+0

您可以獨立導入壓縮文件。例如,我有一個壓縮文件,擴展名爲「.pyc」,包含'__main __。py'和我的所有代碼。然後我可以使用它作爲一個自包含的可運行模塊,但如果需要其他入口點,也可以使用'zipimport'導入它。 – 2016-03-22 08:19:12

相關問題