2012-03-13 48 views
30

Tôi không thể cài đặt gọn gàng vì nó không thể tìm thấy python 2.7, mặc dù tôi đã cài đặt python.Tôi không thể cài đặt numpy vì nó không thể tìm thấy python 2.7, mặc dù tôi đã cài đặt python

Tôi đã nhắn tin: "Python phiên bản 2.7 được yêu cầu, mà không thể tìm thấy trong registry"

Đừng có giải quyết vấn đề của tôi?

+0

Bạn cần phiên bản cần thiết nào. Cửa sổ 32 bit hoặc 64 bit? – sethcall

+0

Tôi có các cửa sổ 64 bit. – kspacja

Trả lời

21

Bạn nên cài đặt Python 32bit, hoặc sử dụng các gói NumPy cho python 64bit từ this unofficial site

+0

Mặc dù tôi có phiên bản Windows 7 64 bit nhưng tôi vẫn phải cài đặt gói gọn gàng 32 bit. Các gumpy mà làm việc cho tôi là một trong những phiên bản không chính thức tại http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy, cụ thể là ump MKL ‑ 1.9.1.win32 ‑ py2.7.exe. –

+0

Bạn có thể có phiên bản Python 32 bit. Bạn có thể cài đặt cả phiên bản 64 bit và 32 bit của Python trên Windows 64 bit. – Dikei

2

Bạn phải xay các phiên bản của python và gumpy. Cả hai cần phải là 32 bit hoặc 64 bit.

53

Đâ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à ...

  1. Mở Registry Editor (Start -> Run -> regedit)
  2. Navigate to HKEY_LOCAL_MACHINE \ SOFTWARE \ [Application name] (trong trường hợp này "Python")
  3. Nhấp chuột phải vào Application ("Python")
  4. Chọn "Export" và lưu các tập tin ở đâu đó là "[tên ứng dụng] .reg" ("Python.reg")
  5. 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 ++)
  6. 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)
  7. Lưu tệp đã chỉnh sửa thành "[tên ứng dụng] _64.reg" (Python_64.reg ")
  8. Đó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.

+0

Điều này làm việc hoàn hảo cho trình cài đặt PIL. Cảm ơn! – alves

+18

+1 Hơi dễ hơn việc sử dụng regedit và trình soạn thảo văn bản là chạy cửa sổ cmd.exe với tư cách quản trị viên và sử dụng 'reg copy HKLM \ SOFTWARE \ Python HKLM \ SOFTWARE \ Wow6432Node \ Python/s'. –

+0

Cảm ơn @WanderingLogic! Dễ dàng hơn nhiều và làm việc cho tôi trên Win 7 64bit và cài đặt Numpy-MKL-1.8.0b2 –

7

Sự cố này cũng ảnh hưởng đến bitmap 32 bit trên Python 32 bit.

Nguyên nhân là trình cài đặt NumPy giả sử bạn đã lựa chọn "cài đặt cho tất cả người dùng" khi bạn cài đặt Python, ví dụ rằng trình cài đặt Python sử dụng máy toàn HKEY_LOCAL_MACHINE phần của registry. Nếu bạn thay vì chọn "cài đặt đối với tôi chỉ", những thiết lập registry là trong phần người dùng có thể ghi các registry, * HKEY_USERS_ * (còn gọi là HKEY_CURRENT_USER). Trình cài đặt gọn gàng không nhìn ở đó và do đó nghĩ rằng Python chưa được cài đặt.

Giải pháp: Sao chép chìa khóa HKEY_CURRENT_USER \ Software \ Python và tất cả các tiểu phím đến nơi tương ứng dưới HKEY_LOCAL_MACHINE \ Software (bạn có thể làm điều này với xuất khẩu từ regedit, sau đó tìm & thay thế trong các tập tin văn bản , sau đó nhập). Hoặc, cài đặt lại Python và chọn "tất cả người dùng".

+1

Không có 'HKEY_CURRENT_USER \ Software \ Python' –

0

Gỡ cài đặt Python khỏi hệ thống của bạn và cài đặt lại một lần nữa. Sau đó tải NumPy từ trang web này: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

Trong trường hợp bạn muốn kiểm tra phiên bản của NumPy trên hệ thống của bạn, hãy viết đoạn mã sau đây trên IDE của bạn:

import numpy 
numpy.version.version 

Hy vọng điều này sẽ giúp!

1

Bạn nên cài đặt python 2.7 32bit. Các phiên bản cửa sổ python số là tất cả 32bit.

0
  1. Chạy trình cài đặt

  2. Bấm hủy khi lỗi xuất hiện

  3. chi tiết Bấm chương

  4. Nó sẽ nói ở phần cuối của danh sách Execute: C:\.........\numpy-1.7.1-sse3.exe, đi đến thư mục đó, lấy tệp đó và thả tệp đó vào C:\python27\

  5. Khi đó là trong thư mục đã nói, hãy chạy nó từ vị trí đó. Thiết lập sẽ chạy và tìm thấy nó.

Các vấn đề liên quan