как импортировать файл 'zip' в мой .py - PullRequest
6 голосов
/ 22 мая 2010

когда я использую http://github.com/joshthecoder/tweepy-examples,

я нахожу:

import tweepy

в appengine \ oauth_example \ handlers.py

но я не могу найти файл 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

Ответы [ 2 ]

5 голосов
/ 22 мая 2010

Имя файла zip не имеет значения при поиске модулей - это позволяет вам включать номера версий в имя файла, например my_b_package.1.2.3.zip.

Для импорта из zip-файла вам необходимо скопировать всю структуру пакета в нем.В этом случае вам потребуется пакет b с модулями __init__.py и c.py.

Т.е.:

b.zip
|
| -- b <dir>
     | -- __init__.py
     | -- c.py
2 голосов
/ 22 мая 2010

Вы не импортируете zip-файлы, вы добавляете их в sys.path, чтобы в них можно было импортировать модули. sys.path - это список, и поэтому все обычные методы / операции со списком (например, .append()) работают с ним.

...