Tôi gặp vấn đề này khi sử dụng Python 3.4.1 trên Windows 7 x64 và thật không may, các gói tôi cần không có exe hoặc bánh xe phù hợp mà tôi có thể sử dụng. Hệ thống này yêu cầu một vài "cách giải quyết", được nêu chi tiết bên dưới (và TLDR ở phía dưới ).
Sử dụng thông tin trong câu trả lời của Jaxrtech ở trên , tôi xác định tôi cần Visual Studio C ++ 2010 (sys.version return MSC v.1600), vì vậy tôi đã cài đặt Visual C ++ 2010 Express từ liên kết trong câu trả lời của anh ấy, đó là http://go.microsoft .com /? linkid = 9709949 . Tôi đã cài đặt mọi thứ với các bản cập nhật, nhưng như bạn có thể đọc bên dưới, đây là một sai lầm. Chỉ nên cài đặt phiên bản gốc của Express tại thời điểm này (không cập nhật bất cứ điều gì).
vcvarsall.bat đã có mặt, nhưng đã xảy ra lỗi mới khi cài đặt gói query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path']
. Có các câu hỏi stackoverflow khác với lỗi này, chẳng hạn như Lỗi trong khi xây dựng / cài đặt mô-đun C cho Python 2.7
Tôi xác định từ câu trả lời đó là 2010 Express chỉ cài đặt trình biên dịch 32 bit. Để có được trình biên dịch 64 bit (và các trình biên dịch khác), bạn cần cài đặt Windows 7.1 SDK. Xem http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
Điều này sẽ không cài đặt cho tôi mặc dù và trình cài đặt đã trả về lỗi installation failed with return code 5100
. Tôi đã tìm thấy giải pháp tại liên kết sau: http://support.microsoft.com/kb/2717426 . Nói tóm lại, nếu các phiên bản mới hơn của x86 và x64 Microsoft Visual C ++ 2010 Redistributable được cài đặt, chúng sẽ xung đột với các phiên bản trong trình cài đặt SDK và trước tiên cần gỡ cài đặt.
SDK sau đó đã được cài đặt, nhưng tôi nhận thấy vcvars64.bat vẫn không tồn tại C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
, cũng như các thư mục con của nó. vcvarsall.bat chạy tệp bó vcvars64, vì vậy không có nó, gói python vẫn không cài đặt (tôi quên lỗi đã được hiển thị tại thời điểm này).
Sau đó tôi tìm thấy một số hướng dẫn ở đây: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Doad_VS_2010_and_Windows_SDK_7.1
Theo hướng dẫn, tôi đã cài đặt SDK Express và 7.1, và đã cài đặt SDK 7.1 SP1 thiếu tiêu đề sửa tệp. Sau đó tôi tự tạo vcvars64.bat bằng nội dung CALL setenv /x64
. Tôi sẽ dán tất cả các hướng dẫn ở đây để chúng không bị lạc.
Bước 1 là tải xuống Visual Studio Express 2010.
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
là một nơi tốt để bắt đầu. Tải xuống trình cài đặt và chạy nó (vc_web.exe). Bạn không cần tải xuống bổ sung SQL 2008.
Bạn cũng sẽ cần SDK Windows (hiện là 7.1) cho trình biên dịch 64 bit - trừ khi bạn muốn thực hiện các bản dựng chỉ 32 bit, không được hỗ trợ đầy đủ ...
http://www.microsoft.com/en-us/doad/details.aspx?id=8279 là điểm khởi đầu tốt để tải xuống cái này - bạn sẽ muốn chạy windk_web.exe khi tải xuống!
Cài đặt mặc định ở đây là tốt.
Cuối cùng, tải xuống và cài đặt bản cập nhật Windows SDK 7.1 SP1:
http://www.microsoft.com/en-us/doad/details.aspx?id=4422
Và, để sửa tệp tiêu đề bị thiếu, VS2010 SP1.
http://www.microsoft.com/doads/en/conf Confirmation.aspx? F FamilyID = 75568aa6-8107-475d-948a-ef22627e57a5
Và, địa ngục đẫm máu, sửa tệp bó bị thiếu cho VS2010 Express. Điều này là hết sức vô lý.
Trong C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64, tạo "vcvars64.bat" bằng cách sau (bạn sẽ cần phải chạy với tư cách quản trị viên):
GỌI setenv / x64
Gói python của tôi vẫn không cài đặt (không thể gọi lại lỗi). Sau đó, tôi đã tìm thấy một số hướng dẫn (được sao chép bên dưới) để sử dụng Dấu nhắc lệnh SDK 7.1 đặc biệt, xem: https://mail.python.org/pipermail/distutils-sig/2012-F/2/018300.html
Đừng bận tâm câu hỏi này. Ai đó ở đây nhận thấy mục này trên menu: Bắt đầu-> Tất cả chương trình-> Microsoft Windows SDK v7.1 -> Dấu nhắc lệnh Windows SDK 7.1
Điều này chạy một công việc hàng loạt xuất hiện để thiết lập một môi trường làm việc cho trình biên dịch. Từ lời nhắc đó, bạn có thể nhập "setup.py build" hoặc "setup.py install".
Tôi đã mở Windows SDK 7.1 Command Prompt theo hướng dẫn và sử dụng nó để chạy easy_install trên gói python. Và cuối cùng, thành công!
TLDR ;
- Cài đặt Visual Studio Express 2010 (tốt nhất là không có bản phân phối lại hoặc máy chủ SQL được cập nhật).
- Cài đặt SDK Windows 7.1
- Cập nhật SDK 7.1 SP1 ngay lập tức và sửa lỗi tệp tiêu đề VS2010 SP1 (bước này có thể không bắt buộc).
- Tạo thủ công
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
với nội dungCALL setenv /x64
- Bắt đầu-> Tất cả chương trình-> Microsoft Windows SDK v7.1 -> Lệnh Windows SDK 7.1 Nhắc để mở dấu nhắc lệnh x64 đặc biệt, sau đó có thể được sử dụng với python / easy_install / pip / etc (bao gồm cả trong virtual_envs).