2009-08-12 34 views

Trả lời

17

Một python egg là một "single-file định dạng phân phối có thể nhập cảng". Mà thường là một gói python.

Bạn có thể nhập gói trong trứng miễn là bạn biết tên và nó nằm trong đường dẫn của bạn.

Bạn có thể thực hiện gói bằng tùy chọn "-m" và tên gói.

Tuy nhiên, các gói python thường không làm bất cứ điều gì khi thực thi và bạn có thể gặp lỗi. Tùy chọn -c có thể được sử dụng để chạy mã. (Xem http://docs.python.org/using/cmdline.html biết chi tiết về tùy chọn dòng lệnh)

> python -m sphinx 
sphinx is a package and cannot be directly executed 


> python -c "import <package in an egg>; <function>();" 



> python -c "import sphinx; print sphinx.package_dir" 
C:\Python26\lib\site-packages\sphinx-0.6.1-py2.6.egg\sphinx 
14

Tính đến Python 2.6, bạn có thể sử dụng python some.egg và nó sẽ được thực hiện nếu nó bao gồm một module có tên __main__.

Đối với các phiên bản trước của Python, bạn có thể sử dụng PYTHONPATH=some.egg python -m some modulesomemodule từ trứng sẽ được chạy làm mô-đun chính. (Lưu ý: nếu bạn đang ở trên Windows, bạn sẽ cần phải làm một riêng biệt SET PYTHONPATH=some.egg.)

4

Ví dụ, nếu bạn muốn nhập khẩu các mô-đun bọt trong đó có sẵn dưới dạng file .egg:

egg_path='/home/shahid/suds_2.4.egg' 

sys.path.append(egg_path) 

import suds 
#... rest of code 
+1

Câu hỏi đặt ra làm thế nào để chạy biểu mẫu dòng lệnh - đây là cách để chạy từ bên trong một tập lệnh python – Mark

+3

@Mark nơi nó nói như thế? Câu hỏi đặt ra là "Làm thế nào để chạy các tệp trứng Python trực tiếp mà không cần cài đặt chúng?" Câu trả lời này là hợp lệ. – Adham

+0

@Adham - ví dụ Java trong câu hỏi là từ dòng lệnh không có trong Java – Mark

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