Làm thế nào để loại bỏ các ứng dụng được cài đặt thông qua cài đặt python cài đặt python?


20

Tôi có hai ứng dụng mà tôi đã cố cài đặt, nhưng chúng không hoạt động và bây giờ tôi không thể thoát khỏi chúng. Cả hai đều được cài đặt thông qua sudo python setup.py installnên không có bất kỳ tệp gói thực tế nào tôi có thể xóa khỏi trung tâm Synaptic / Software. Không có tập tin README nào nói về việc gỡ cài đặt và thử sudo python setup.py uninstall(như ai đó đã đề xuất) không hoạt động. Có cách nào khác để thoát khỏi các ứng dụng này?

Sử dụng 11.04, nếu điều đó giúp


1
Điều này không trả lời, nhưng có thể là một bài học: "Không có lệnh gỡ cài đặt và không có tùy chọn gỡ cài đặt. Việc ghi lại danh sách các tệp đã cài đặt và xóa / gỡ cài đặt mô-đun Python với danh sách đó là điều khá bình thường. cài đặt' lệnh: filename --record trong đó để ghi lại danh sách các file cài đặt" từ: redhat.com/archives/rhl-list/2007-May/msg00332.html
desgua

Câu trả lời:


25

Martin v. Löwis đã trả lời điều này ở đây :

"Bạn cần xóa tất cả các tệp theo cách thủ công và cũng hoàn tác mọi nội dung khác mà cài đặt đã thực hiện thủ công.

Nếu bạn không biết danh sách tất cả các tệp, bạn có thể cài đặt lại nó với --recordtùy chọn và xem danh sách mà sản phẩm này tạo ra. "

ví dụ:

python setup.py install --record files.txt để tạo danh sách

cat files.txt | xargs rm -rf để loại bỏ các tập tin được ghi lại bởi bước trước.


Điều này để lại các thư mục trống phía sau.
Ciro Santilli 新疆 心 心

4

Bạn phải luôn cài đặt ứng dụng Python bằng " pip ". Pip hỗ trợ tùy chọn gỡ cài đặt.


2
Bạn có thể sử dụng pip để cài đặt gói cục bộ nếu bạn biết các tệp nguồn và setup.py nằm ở đâu không? Tôi giả sử người bảo trì sẽ phải đặt các tập tin ở một nơi nào đó.
PKKid

1
@PKKid pip install http://example.com/path/to/zipballhoạt động. Để sử dụng đường dẫn địa phươngpip install ~/projects/foo/.
matt wilkie
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.