2012-02-08 12 views
5

Điều này dành cho Python 2.6.6 trên Debian Squeeez. Tôi đang cố gắng tìm hiểu xem các tệp nhị phân được chuyển với debian có được định cấu hình bằng cờ của:Có cách nào để biết nếu python được cấu hình và biên dịch với "--with-threads --enable-shared"?

--with-threads --enable-shared 

như thể chúng không phải tự mình biên dịch và cài đặt từ nguồn.

+0

Thử phân tích cú pháp thông tin từ pyconfig.h? Tệp này được tạo trong thời gian biên dịch và là nền tảng cụ thể. Không chắc chắn nếu nó có tất cả các cờ, mặc dù: (Cũng chạy python -v có thể tiết lộ một số thông tin. –

Trả lời

11

--with-threads (là mặc định) sẽ có nghĩa là Python hỗ trợ luồng, nghĩa là import thread sẽ hoạt động. Một cách dễ dàng để kiểm tra điều này là với python$version -m threading

--enable-shared sẽ có nghĩa là Python đi kèm với một tập tin libpython$version.so, cài đặt trong $prefix/lib (cùng thư mục python$version, không phải bên trong nó.) Điều dễ nhất để làm là nhìn nếu tập tin đó là có - giả sử bạn muốn biết vì bạn cần sử dụng thư viện chia sẻ libpython này. Nếu bạn thực sự cần biết liệu python$versionnhị phân có sử dụng thư viện được chia sẻ này hay không, ldd sẽ cho bạn biết điều đó. Tôi tạo sự khác biệt đó vì trên Debian, /usr/lib/python$version.so sẽ tồn tại mặc dù /usr/bin/python$version được liên kết tĩnh.

+0

Và bởi 'nhập thread' hoạt động, bạn có nghĩa là nó sẽ không ném một' ImportError', mà bạn có thể kiểm tra trong từ Mã số Python –

+0

Cảm ơn, Thomas - Câu trả lời hay, ngắn gọn. – DrLou