2009-07-10 25 views
14

Làm thế nào để bạn nhập tệp python .egg được lưu trữ ở vị trí tương đối với mã .py?Làm cách nào để đưa thư viện python .egg vào thư mục con (vị trí tương đối)?

Ví dụ,

My Application/ 
My Application/library1.egg 
My Application/libs/library2.egg 
My Application/test.py 

Làm thế nào để bạn nhập và sử dụng library1 và library2 từ bên trong test.py, trong khi rời khỏi thư viện .egg tại chỗ?

Trả lời

24

An .egg chỉ là tệp .zip hoạt động như một thư mục mà từ đó bạn có thể nhập nội dung.

Bạn có thể sử dụng biến số PYTHONPATH để thêm .egg vào đường dẫn của mình hoặc thêm thư mục vào sys.path. Một tùy chọn khác là sử dụng tệp .pth trỏ đến trứng.

Để biết thêm thông tin, hãy xem A Small Introduction to Python eggs, Python EggsAll about eggs.

Ví dụ, nếu bạn library1.egg chứa một gói có tên foo, và bạn thêm library1.egg để PYTHONPATH, bạn có thể chỉ đơn giản là import foo

Nếu bạn không thể đặt PYTHONPATH, bạn có thể viết:

import sys 
sys.path.append("library1.egg") 
import foo 
+3

Vì vậy: import sys sys.path.append ("library1.egg") nhập khẩu foo –

+0

hi, Làm thế nào tôi có thể nạp module/thư viện chứa trong trứng tự động và nhanh chóng lớp? – Mythri

2

Bạn có thể bao gồm mỗi quả trứng trên sys.path hoặc tạo tệp .pth đề cập đến từng quả trứng.

Nếu bạn có nhiều trứng mà bạn cần trong hệ thống của mình, tôi khuyên bạn nên sử dụng một cái gì đó như xây dựng, điều đó sẽ làm cho việc thiết lập dễ dàng sao chép. Nó sẽ xử lý trứng cho bạn.

http://pypi.python.org/pypi/zc.buildout/

Các vấn đề liên quan