Python ban đầu được cài đặt trong C: \ Program Files \ Python, nhưng nó đã thay đổi khoảng 1.5. Lý do đằng sau quyết định đó là gì? Có phải là một ý tưởng tồi để thay đổi thư mục trở lại, và nếu vậy, tại sao?
Python ban đầu được cài đặt trong C: \ Program Files \ Python, nhưng nó đã thay đổi khoảng 1.5. Lý do đằng sau quyết định đó là gì? Có phải là một ý tưởng tồi để thay đổi thư mục trở lại, và nếu vậy, tại sao?
Câu trả lời:
Rõ ràng đây là nguyên nhân của cuộc thảo luận 7 năm giữa các nhà phát triển Python.
Các lý do sau đây đã được đưa ra bởi các tác giả:
Tác giả: Tim Peters (tim.peter) * (Python committer) Ngày: 2006-03-22 20:27
Cách đây rất lâu, Python đã cài đặt (theo mặc định) trong "Tệp chương trình". Tôi đã thay đổi điều đó, bởi vì các vấn đề vô tận được tạo ra bởi không gian nhúng của frickin và các vấn đề hiếm hơn nhưng tinh vi hơn do "Tệp chương trình" không phải là tên DOSish 8.3. Nhìn chung, tôi vẫn nghĩ rằng đó là một thay đổi tốt.
Lưu ý rằng, không giống như hầu hết các ứng dụng Windows (dựa trên GUI), các ngôn ngữ lập trình được dự định sẽ được sử dụng nhiều từ dòng lệnh, được gọi bởi các tập lệnh, v.v. Đó là những gì làm cho một không gian trong đường dẫn dễ bị lỗi vô tận. Trong WinXP Pro, tôi nhận thấy rằng MS vẫn cẩn thận đặt các công cụ dòng lệnh / tập lệnh của riêng mình (sort.exe, ipconfig.exe, cscript.exe, ..., thậm chí notepad.exe) trong không gian DOSish 8.3 thuần túy đường dẫn ;-)
Ngoài ra : Do khả năng leo thang đặc quyền, sử dụng C: \ thay vì C: \ Program Files \ có thể là một mối nguy hiểm bảo mật:
Tác giả: Mika Eloranta (mel) Ngày: 2005-09-07 21:34
Thư mục đích cài đặt mặc định nơi Python cài đặt trên Windows nằm ngay dưới thư mục gốc của ổ đĩa hệ thống (ví dụ: "C: \ python24"). Các quyền của tệp và thư mục được kế thừa bởi thư mục python24 từ thư mục gốc không đủ an toàn để giữ các nhị phân ứng dụng.
Microsoft, theo trí tuệ vô hạn của họ, đã quyết định rằng thư mục gốc của ổ đĩa hệ thống sẽ cho phép người dùng thông thường (không phải quản trị viên) tạo thư mục và tệp ở đó. Nhóm quyền này được kế thừa bởi thư mục python khi nó được tạo ở vị trí mặc định (nghĩa là "C: \ python24" hoặc bất cứ điều gì).
Nếu bạn muốn sửa đổi thư mục Python để tránh cuộc tấn công leo thang đặc quyền được thảo luận, có thể sửa đổi thư mục \ Python bằng icacls .
bin
thư mục của nó vào %PATH%
và bạn sẽ không cần phải xử lý các khoảng trống nữa. Và không đúng khi XP Pro có các dòng thực thi dòng lệnh của nó trong các đường dẫn DOS 8.3. Mặc dù đường dẫn của chúng thường không có bất kỳ khoảng trắng nào, nhiều tệp có độ dài dài hơn 8 ký tự như systeminfo.exe