Đây không phải là không phổ biến với các trình cài đặt (ví dụ NumPy) mà phụ thuộc vào hoặc tìm kiếm một cài đặt trước đó 64 bit ứng dụng cốt lõi (ví dụ Python x64). Vấn đề và giải pháp rất dễ giải thích.
VẤN ĐỀ IMHO đây là một lỗi trên một phần của các nhà phát triển của đã được cài đặt 64 bit Application bằng cách đặt các mục nhập registry trong nút 32 bit thay vì (hoặc bổ sung cho) các node 64 bit. Trên thực tế, nhà phát triển của trình cài đặt cũng có thể mã hóa nó để tìm trong cả hai vị trí, thay vì giả định mục đăng ký ứng dụng 64 bit sẽ nằm trong \ Wow6432Node, như một cách để tránh vấn đề này về sự giám sát của nhà phát triển ban đầu; tuy nhiên, nếu trình cài đặt căn cứ quyết định của nó về việc liệu ứng dụng có 32- hoặc 64 bit dựa trên vị trí của mục đăng ký (không phải là một ý tưởng hay), điều này có thể có vấn đề.
Đôi khi với 64 bit applicaitons một mục đăng ký sẽ được tạo trong ...
HKLM\SOFTWARE\[applicaion name]
Tuy nhiên, một mục đăng ký tương ứng không được tạo ra trong ...
HKLM\SOFTWARE\Wow6432Node\[application name]
SOLUTION Cách dễ nhất để giải quyết vấn đề này với bất kỳ ứng dụng nào là ...
- Mở Registry Editor (Start -> Run -> regedit)
- Navigate to HKEY_LOCAL_MACHINE \ SOFTWARE \ [Application name] (trong trường hợp này "Python")
- Nhấp chuột phải vào Application ("Python")
- Chọn "Export" và lưu các tập tin ở đâu đó là "[tên ứng dụng] .reg" ("Python.reg")
- Mở tập tin lưu với biên tập viên của bạn lựa chọn (tôi thích Notepad ++)
- On mỗi mục nhập ngay sau "[HKEY_LOCAL_MACHINE \ SOFTWARE" nhưng trước \ [tên ứng dụng] ("\ Python"), thêm "\ Wow6432Node" (không có dấu ngoặc kép, rõ ràng)
- Lưu tệp đã chỉnh sửa thành "[tên ứng dụng] _64.reg" (Python_64.reg ")
- Đóng trình chỉnh sửa và nhấp đúp vào tệp mới tạo, trả lời" Có "cho cửa sổ bật lên xác minh Registry Editor.
Bây giờ bạn cần có mục nhập trùng lặp trong HKLM \ SOFTWARE \ [tên ứng dụng] và HKLM \ SOFTWARE \ Wow6432Node \ [applicaiton name].Ngoài ra, bạn có thể tự tạo tất cả các mục bị thiếu trong HKLM \ SOFTWARE \ Wow6432Node \ [applicaiton name] để khớp với những gì nằm trong HKLM \ SOFTWARE \ [tên ứng dụng], nhưng đó thực sự là một chặng đường dài.
Khi bạn chạy lại trình cài đặt Numpy, nó sẽ phát hiện đúng cách cài đặt Python 64 bit của bạn.
CAVEAT Có một thông báo trước cho tất cả điều này.
Các mục trùng lặp trong HKLM \ SOFTWARE và HKLM \ SOFTWARE \ Wow6432Node không phải là vấn đề và sẽ không ảnh hưởng đến hoạt động bình thường của ứng dụng; tuy nhiên, khi nhà phát triển bỏ lỡ việc tạo mục nhập registry Wow6432Node, có thể không có bất kỳ cập nhật nào trong tương lai sửa đổi các mục đăng ký sẽ được điền ở cả hai vị trí. Đôi khi bạn có thể phải thực hiện lại thao tác này hoặc thêm các mục đăng ký mới vào Wow6432Node theo cách thủ công để giữ cho chúng phù hợp. Một ví dụ mà bạn có thể chạy vào điều này là với việc cài đặt các mô-đun Python thêm một mục trong HKLM \ SOFTWARE \ Python \ PythonCore \ 2.x \ Modules \. Bạn chỉ có thể xuất mục nhập và chỉnh sửa tệp .reg để chỉ bao gồm "\ Wow6432Node", xuất toàn bộ nút \ Python và chỉnh sửa tất cả các mục nhập (nhập tệp .reg đã chỉnh sửa sẽ ghi đè mục nhập hiện có) hoặc chỉ thêm thủ công mới mục nhập - mọi thứ dường như đơn giản hơn đối với bạn.
Bạn cần phiên bản cần thiết nào. Cửa sổ 32 bit hoặc 64 bit? – sethcall
Tôi có các cửa sổ 64 bit. – kspacja