Điều này đã được yêu cầu và trả lời một vài lần, nhưng vì bạn sẽ không thấy câu trả lời nào trước đây phù hợp với tôi - tôi cảm thấy có gì đó đã thay đổi để làm cho tất cả các câu trả lời cũ đã lỗi thời. Hoặc ít nhất, tôi đang trong một số trường hợp cạnh:python - Bắt Pip sử dụng MinGW32 trên Windows?
Trên hộp Windows 7, tôi đã cài đặt MinGW32 và Python 2.7 (phiên bản 32 bit) (tôi cũng đã thử với Python 2.6 và có cùng kết quả).
Biến môi trường đường dẫn được đặt chính xác.
Tôi đã chỉnh sửa
cygwincompiler.py
để xóa các thiết bị điện tử thành-mno-cygwin
. Và tôi đã đặt đúng tệpdistutils.cfg
vàoC:\Python27\Lib\distutils
.Để rõ ràng:
distutils.cfg
chứa[build] compiler=mingw32
trên hai dòng.Tôi cũng (chỉ an toàn) đặt
pydistutils.cfg
trong thư mục%HOME%
của mình. Và đặtsetup.cfg
vào thư mục hiện tại của tôi khi chạypip
. Họ có nội dung giống nhưdistutils.cfg
.
Tôi biết điều này là tất cả đều hoạt động vì pip install cython
và pip install pycrypto
cả hai đều biên dịch thành công.
Tuy nhiên, một số gói vẫn cho tôi lỗi unable to find vcvarsall.bat
. Hai ví dụ là: pyproj và numpy.
Giống như đôi khi pip
biết sử dụng trình biên dịch MinGW và đôi khi không?
Hơn nữa, nếu tôi sử dụng vỏ MSYS đi kèm với MinGW thì kỳ diệu pip install numpy
sẽ thành công. Nhưng pip install pyproj
vẫn không thành công với unable to find vcvarsall.bat
.
Tôi đã thử tính năng này trên một số máy có cùng kết quả chính xác.
Bất kỳ ai có ý tưởng gì đang xảy ra ở đây? Tại sao pip
biết sử dụng mingw32 để biên dịch một số mô đun c chứ không phải các mô-đun khác? Ngoài ra, tại sao pip install numpy
hoạt động bên trong vỏ MSYS chứ không phải bên trong vỏ cmd?
THƯỞNG: Nhiều, nhiều câu trả lời cũ hơn đề xuất cài đặt Visual Studio 2008 như một cách để giải quyết lỗi vcvarsall.bat
. Nhưng tính đến tháng 5 vừa qua, microsoft không còn phân phối phần mềm này nữa. Có ai biết về một nơi mà người ta vẫn có thể tải về VS2008? Tôi hỏi vì có thể sử dụng vcvarsall.bat
thay vì MinGW sẽ giải quyết được vấn đề này.
+1 Tôi có cùng một vấn đề chính xác: đôi khi pip có thể tìm thấy mingw, đôi khi anh ta không thể. – Sam
Bạn không cần tất cả VS2008, bạn chỉ cần SDK cửa sổ, vẫn có sẵn để tải xuống. http://www.microsoft.com/en-us/download/details.aspx?id=3138 (liên kết có thể không đủ tuổi) –