Theo như tôi biết, nó chỉ xóa thư mục con build
, trong đó Python đặt tất cả các tệp được cài đặt, bao gồm các tiện ích mở rộng cần được biên dịch.
Không được có bất kỳ tệp *.pyc
ở nơi khác, trừ khi bạn chạy Python trên một số tập lệnh trong thư mục nguồn (có thể xảy ra nếu bạn chạy thử nghiệm) hoặc mô-đun được nhập trực tiếp từ thư mục nguồn. *~
tệp là tệp sao lưu emacs và do đó sẽ không bị xóa sạch bởi setup.py
. (Nếu bạn đã nhìn thấy hành vi này từ make clean
, hơn đó là đơn giản chỉ vì một người nào đó có mã đó vào Makefile.)
Bạn có thể có thể ghi đè lên các lệnh sạch trong một cách để (đệ quy) loại bỏ *.pyc
file, nhưng tôi nghi ngờ nếu có một nhu cầu. Nói chung, Python đủ thông minh để biên dịch lại các tệp *.py
thành các tệp *.pyc
nếu tệp cũ đã thay đổi và nếu không, tệp này sẽ nhanh hơn.
Có một lưu ý tôi gặp phải, và đó là khi thực hiện setup.py build_ext --inplace
, việc xóa sẽ không xóa (các) mô-đun được biên dịch vì chúng không nằm trong thư mục xây dựng. Mà tôi cảm thấy như thiếu sót của lệnh sạch.
Nhìn chung, có vẻ như lệnh sạch sẽ được thêm vào để phù hợp với hành vi của make
, nhưng dường như không thêm nhiều.
Không quan tâm, tại sao bạn lại muốn thêm hành vi? Tôi có thể tưởng tượng nó cảm thấy tốt đẹp khi có một thư mục sạch sẽ, nhưng nó không phải cái gì bạn nên làm phiền với tổng thể. Có lý do cụ thể nào không? – Evert
Tôi muốn có hành vi bổ sung để chỉ định một thư mục đơn giản, từ đó toàn bộ nội dung được đưa vào gói. Nếu không xóa các tệp python tạm thời trước, tất cả các tệp tạm thời đó sẽ được sử dụng trong bao bì, phải không? Ngoài ra, lệnh 'clean' có thể được sử dụng để chỉ đơn giản là làm sạch thư mục làm việc từ các tệp tạm thời để xem rõ những gì bạn có. – Alex
Để đóng gói, hãy xem xét sử dụng 'setup.py sdist'. Để dọn dẹp: các tệp '* .pyc' không thực sự là vấn đề, nhưng bạn có thể xem xét' tìm. tên "* .pyc" | xargs rm'. Những tệp '* ~' này không phải là một cái gì đó mà Python cần phải bận tâm, vì chúng không liên quan đến Python (điều này cũng có thể xảy ra với một vài kiểu tệp khác). – Evert