Làm thế nào để tôi có được hành vi kéo và thả này trở lại?


1

Tôi vừa (cuối cùng!) Đã nâng cấp Python từ 2.6 lên 2.7 và cũng cài đặt song song 3.2. Tôi đang chạy Windows Vista.

Trước đây, tôi có thể kéo và thả vào tệp .py để chạy tập lệnh, với tên tệp được kéo xuất hiện sys.argv. Tôi không làm gì để có được hành vi này; nó hoạt động ngay khi Python 2.6 được cài đặt.

Nó không còn hoạt động: tệp .py không được công nhận là mục tiêu thả hợp lệ.

Tôi đã thử bản hack registry này , cái mà tôi cũng tìm thấy bằng cách tìm kiếm trên Google (nhận được một vài tài liệu tham khảo rải rác, bao gồm một chuỗi danh sách gửi thư cũ trên python.org). Nó hoàn thành chính xác không có gì, ngay cả sau khi khởi động lại máy tính. Dù sao tôi cũng không nên làm điều này vì tôi không phải làm lần cuối.

Chuyện gì đang xảy ra vậy? Làm thế nào tôi có thể sửa chữa nó? Tôi thực sự nhớ có hành vi này.


Những gì bạn đã kéo và thả vào .py?
Paul

Một tệp văn bản đơn giản, mà .py có nghĩa là để mở và đọc. Trước đây, đường dẫn đến tệp bị hủy được cung cấp trong sys.argv.
Karl Knechtel

Nếu bạn thả các tệp văn bản trong một biểu tượng .exe, nó có chạy .exe không? Mọi người có lẽ đã sử dụng điều này như một vector tấn công và vì vậy Microsoft đã quyết định loại bỏ tính năng này trong một số cập nhật.
gcb

kéo và thả vào .exe hoạt động tốt. Tôi cũng chưa từng nghe về bất kỳ khóa máy nào như vậy.
Karl Knechtel

Câu trả lời:


0

Có thể đây là một vấn đề về bitness, nơi bạn đang sử dụng Explorer 64 bit, nhưng đã cài đặt phiên bản python 32 bit? Trong trường hợp này, Explorer 64 bit có thể không hoạt động.

Nếu bạn đã cài đặt Windows 64 bit, bạn vẫn có thể kiểm tra lý thuyết này bằng cách thả tệp trên tập lệnh .py bằng Explorer 32 bit, được gọi bằng dòng lệnh này:

%Systemroot%\SysWOW64\explorer.exe /separate

[BIÊN TẬP]

Vì bạn nói rằng đây không phải là trường hợp, nên tôi chỉ có thể cung cấp cách giải quyết để biên dịch tập lệnh .py thành .exe bằng cách sử dụng một công cụ như py2exe :

py2exe là một phần mở rộng Python Distutils chuyển đổi các tập lệnh Python thành các chương trình Windows có thể thực thi, có thể chạy mà không cần cài đặt Python.

Câu hỏi: Bạn đã cài đặt python bằng trình cài đặt của nó chưa?


Không, tôi có Vista 32 bit và đã cài đặt Python 32 bit (phiên bản 64 bit có hoạt động không?). Tôi không có thư mục SysWOW64 trong% Systemroot% của mình.
Karl Knechtel

Có, Python đã được cài đặt bằng trình cài đặt MSI chính thức từ python.org, giống như lần trước tôi đã làm với 2.6.
Karl Knechtel

Sau đó, đây là một vấn đề với trình cài đặt mà bạn nên nêu ra với các nhà phát triển python trên diễn đàn của họ. Cho đến khi nó được sửa, cách giải quyết duy nhất tôi có thể cung cấp là sử dụng py2exe.
harrymc
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.