Saya mencoba untuk menginstal dulwich paket Python :
pip install dulwich
Tapi saya mendapatkan pesan kesalahan samar:
error: Unable to find vcvarsall.bat
Hal yang sama terjadi jika saya mencoba menginstal paket secara manual:
> python setup.py install
running build_ext
building 'dulwich._objects' extension
error: Unable to find vcvarsall.bat
C:\Users\User\libfreenect\wrappers\python>python setup.py install
running install running build running build_ext building 'freenect' extension error: Unable to find vcvarsall.bat
Jawaban:
Pembaruan : Komentar menunjukkan bahwa petunjuk di sini mungkin berbahaya. Pertimbangkan untuk menggunakan edisi Visual C ++ 2008 Express atau Kompiler Microsoft Visual C ++ yang dibuat khusus untuk Python ( detail ) dan BUKAN menggunakan jawaban asli di bawah ini. Pesan kesalahan asli berarti versi Visual C ++ yang diperlukan tidak diinstal.
Untuk instalasi Windows:
Saat menjalankan setup.py untuk instalasi paket, Python 2.7 mencari Visual Studio 2008. Anda dapat menipu Python untuk menggunakan Visual Studio yang lebih baru dengan mengatur jalur yang benar dalam
VS90COMNTOOLS
variabel lingkungan sebelum memanggilsetup.py
.Jalankan perintah berikut berdasarkan versi Visual Studio yang diinstal:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
SET VS90COMNTOOLS=%VS110COMNTOOLS%
SET VS90COMNTOOLS=%VS120COMNTOOLS%
SET VS90COMNTOOLS=%VS140COMNTOOLS%
PERINGATAN: Seperti disebutkan di bawah, jawaban ini kemungkinan tidak akan berfungsi jika Anda mencoba mengompilasi modul python.
Lihat Membangun lxml untuk Python 2.7 di Windows untuk detailnya.
sumber
Saya menemukan solusinya. Saya memiliki masalah yang sama persis, dan kesalahan, menginstal 'amara'. Saya telah menginstal mingw32, tetapi distutils perlu dikonfigurasi.
C:\programs\mingw\
c:\programs\MinGW\bin;
ke PATHEdit (buat jika tidak ada) file distutils.cfg yang berada di
C:\Python26\Lib\distutils\distutils.cfg
menjadi:Sekarang jalankan
easy_install.exe amara
.Pastikan lingkungan diatur dengan membuka yang baru
cmd.exe
.sumber
C:\msysgit\mingw\mingw32\bin
danC:\msysgit\mingw\bin
ke PATH pengguna dan memulai kembali Spyder sebelum berjalanpip install
lagigcc: error: unrecognized command line option '-mno-cygwin' error: Setup script exited with error: command 'gcc' failed with exit status 1
easy_install.exe amara
C:\Python27\Lib\distutils\cygwincompiler.py
dan menghapus semua kejadian–mno-cygwin
dari itu; ini karena versi terbaru dari GCC telah menghapus–mno-cygwin
opsi dan seharusnya tidak ada di sana.Anda dapat menginstal versi kompilasi dari http://www.lfd.uci.edu/~gohlke/pythonlibs/
sumber
easy_install binary_installer_built_with_distutils.exe
di virtualenv, sesuai dengan jawaban ini .wheel convert ....exe
menginstal ini dan kemudian menginstalnya dengan pip kapan saja Anda suka.python -m pip install <filename>
Jika Anda ingin mengkompilasi dengan Visual Studio C ++ bukan mingw ...
Jalankan
python.exe
untuk menampilkan versi VC ++ mana yang dikompilasi (contoh ditunjukkan di bawah).Gunakan tabel di bawah ini [1] untuk mencocokkan versi VC ++ internal dengan rilis Visual Studio yang sesuai:
Unduh dan instal versi yang sesuai dari Visual Studio C ++ dari langkah sebelumnya.
Catatan tambahan untuk versi spesifik VC ++ tercantum di bawah ini.
Catatan untuk Visual Studio C ++ 2008
Untuk hanya kompiler 32-bit, unduh Visual Studio C ++ 2008 Express Edition .
Untuk kompiler 64-bit [2] [3] , unduh Windows SDK untuk Windows 7 dan .NET Framework 3.5 SP1 .
Catatan untuk Visual Studio C ++ 2010
Menurut Microsoft, jika Anda menginstal Visual Studio 2010 SP1, itu mungkin telah menghapus kompiler dan pustaka untuk VC ++.
Jika demikian, unduh Pembaruan Kompiler Visual C ++ 2010 SP1 .
Catatan untuk Visual Studio C ++ 2015
Jika Anda tidak memerlukan Visual Studio IDE, unduh Visual Studio C ++ 2015 Build Tools .
Catatan untuk Visual Studio C ++ 2017
Jika Anda tidak memerlukan IDE Visual Studio, unduh Build Tools untuk Visual Studio 2017 .
Saran : Jika Anda memiliki instalasi Python 32-dan 64-bit, Anda mungkin juga ingin menggunakan virtualenv untuk membuat lingkungan Python yang terpisah sehingga Anda dapat menggunakan satu atau yang lain sekaligus tanpa mengacaukan jalan Anda untuk memilih versi Python mana yang akan dipilih menggunakan.
Buka a
cmd.exe
Sebelum Anda mencoba menginstal sesuatu yang memerlukan ekstensi C, jalankan file batch berikut untuk memuat lingkungan kompilator VC ++ ke dalam sesi (yaitu variabel lingkungan, path ke kompiler, dll).
Menjalankan:
Kompiler 32-bit:
Catatan : Instalasi Windows 32-bit hanya akan
C:\Program Files\
seperti yang diharapkanKompiler 64-bit:
Catatan : Ya, kompiler 64-bit asli ada di
Program Files (x86)
. Jangan tanya kenapa.Selain itu, jika Anda bertanya-tanya apa bedanya
vcvars64.bat
danvcvarsx86_amd64.bat
atau yang lebih penting perbedaan antaraamd64
danx86_amd64
, yang pertama adalah untuk alat kompiler 64-bit asli dan yang terakhir adalah kompiler silang 64-bit yang dapat berjalan pada instalasi Windows 32-bit .Memperbarui:
Jika karena alasan tertentu Anda mendapatkan di
error: ... was unexpected at this time.
mana...
serangkaian karakter, maka Anda perlu memeriksa bahwa Anda path variabel tidak memiliki karakter asing seperti kutipan tambahan atau karakter liar. File batch tidak akan dapat memperbarui jalur sesi Anda jika itu tidak masuk akal sejak awal.Jika itu berjalan dengan baik, Anda harus mendapatkan salah satu pesan berikut tergantung pada versi VC ++ dan perintah mana yang Anda jalankan:
Untuk alat kompiler 32-bit:
Setting environment for using Microsoft Visual Studio 20xx x86 tools.
Untuk alat kompiler 64-bit:
Setting environment for using Microsoft Visual Studio 20xx x64 tools.
Sekarang , jalankan pengaturan via
python setup.py install
ataupip install pkg-name
Harapan dan silangkan jari-jari Anda agar planet-planet disejajarkan dengan benar agar VC ++ dapat bekerja sama.
sumber
...\VC\bin\vcvarsamd64.bat
dan...\VC\bin\amd64\vcvarsamd64.bat
.Apa yang sedang terjadi? Modul python dapat menjadi bagian yang ditulis dalam C atau C ++ (biasanya untuk kecepatan). Jika Anda mencoba menginstal paket seperti itu dengan Pip (atau
setup.py
), ia harus mengkompilasi C / C ++ itu dari sumber. Di luar kotak, Pip akan dengan berani menganggap Anda kompiler Microsoft Visual C ++ diinstal. Jika Anda tidak memilikinya, Anda akan melihat pesan kesalahan samar "Kesalahan: Tidak dapat menemukan vcvarsall.bat".Solusi yang ditentukan adalah menginstal kompiler C / C ++, baik Microsoft Visual C ++, atau MinGW (proyek open-source). Namun, menginstal dan mengkonfigurasi salah satu dari keduanya adalah hal yang sulit. (Edit 2014: Microsoft telah menerbitkan kompiler C ++ khusus untuk Python 2.7)
Solusi termudah adalah dengan menggunakan installer Windows (.msi) Christoph Gohlke untuk paket Python populer. Dia membangun installer untuk Python 2.x dan 3.x, 32 bit dan 64 bit. Anda dapat mengunduhnya dari http://www.lfd.uci.edu/~gohlke/pythonlibs/
Jika Anda juga berpikir "Kesalahan: Tidak dapat menemukan vcvarsall.bat" adalah pesan yang sangat membingungkan dan tidak membantu, maka silakan komentari bug di http://bugs.python.org/issue2943 untuk menggantinya dengan yang lebih bermanfaat dan user- pesan ramah
Sebagai perbandingan, Ruby mengirim dengan Gem paket manajer dan menawarkan kompiler C / C ++ yang semu resmi, DevKit. Jika Anda mencoba menginstal paket tanpanya, Anda akan melihat pesan bermanfaat yang bermanfaat ini:
Anda dapat membaca kata-kata kasar yang lebih panjang tentang kemasan Python di https://stackoverflow.com/a/13445719/284795
sumber
setuptools
ke versi6.0
atau lebih tinggi denganpip install setuptools --upgrade
.Anda harus menginstal kompiler Microsoft, yang kompatibel dengan kompiler yang digunakan untuk membangun Python. Ini berarti Anda memerlukan Visual C ++ 2008 (atau lebih baru, dengan beberapa penyesuaian ).
Microsoft sekarang memasok kompiler dan header yang dibundel hanya untuk dapat mengkompilasi ekstensi Python, di URL yang mudah diingat:
Ini adalah paket yang relatif kecil; 85MB untuk diunduh, dapat diinstal tanpa hak admin, tidak perlu reboot. Namanya sedikit menyesatkan, kompiler akan bekerja untuk semua versi Python yang awalnya dikompilasi dengan Visual C ++ 2008, bukan hanya Python 2.7.
Jika Anda memulai prompt atau cetak interaktif Python
sys.version
, cariMSC
string versi; jika sudah,MSC v.1500
Anda bisa menggunakan alat ini.Dari pengumuman asli ke daftar distutils :
Perhatikan bahwa Anda perlu memiliki
setuptools
6.0 atau yang lebih baru (tercantum dalam persyaratan sistem pada halaman unduhan). Proyek yang Anda pasang harus digunakansetuptools.setup()
, tidakdistutils
atau deteksi otomatis tidak akan berfungsi.Microsoft telah menyatakan bahwa mereka ingin menjaga URL tetap stabil, sehingga skrip otomatis dapat merujuknya dengan mudah.
sumber
setuptools
sudah mutakhirpip install setuptools --upgrade
.setuptools
daripadadistutils
semua, membangun modul adalah fungsi inti, dan memang memiliki kode yang relevan, tetapi versi yang lebih lama. Sepertinyadistutils
pengelola hanya menyerah mendukung semua variasi MSSDK yang mungkin dan membuang pekerjaan ini kesetuptools
kolega mereka yang lebih bersemangat.setuptools
juga bisa merilis jauh lebih sering daripadadistutils
, termasuk dalam siklus rilis Python. Dandistitutils
memang telah masuk ke mode pemeliharaan, dengan bekerja pada sistem baru yang dijadwalkan untuk menggantikannya. Pekerjaan itu malah terhenti.Saya hanya punya masalah yang sama, jadi saya akan menceritakan kisah saya di sini berharap ini membantu orang lain dengan masalah yang sama dan menyelamatkan mereka beberapa jam yang baru saja saya habiskan:
Saya memiliki mingw (g ++ (GCC) 4.6.1) dan python 2.7.3 di kotak windows 7 dan saya mencoba menginstal PyCrypto.
Semuanya dimulai dengan kesalahan ini ketika menjalankan setup.py install:
Mudah dipecahkan setelah googling kesalahan dengan menetapkan mingw sebagai kompiler pilihan:
Masalahnya adalah kemudian saya mendapat kesalahan yang berbeda:
Ternyata anti-virus saya memblokir eksekusi .exe yang baru dikompilasi. Saya baru saja menonaktifkan "resident shield" anti-virus dan pergi ke kesalahan berikutnya:
Ini menyelesaikannya: "Baik instal versi MinGW yang sedikit lebih lama, atau edit distutils \ cygwinccompiler.py di direktori Python Anda untuk menghapus semua instance -mno-cygwin." (dari sini )
Sekarang, saya akhirnya bisa mulai bekerja.
sumber
Sepertinya mencari VC compiler, jadi Anda bisa mencoba menyebutkan tipe kompiler
-c mingw32
, karena Anda memiliki msyssumber
python setup.py build --compiler=mingw32
diikuti olehpython setup.py install
Saya memiliki python 2.73 dan windows 7. Solusi yang bekerja untuk saya adalah:
C:\programs\mingw\bin;
Distutils.cfg dibuat terletak di
C:\Python27\Lib\distutils\distutils.cfg
mengandung:Untuk menangani MinGW tidak mengenali flag -mno-cygwin lagi, hapus flag di C: \ Python27 \ Lib \ distutils \ cygwincompiler.py baris 322 hingga 326, sehingga terlihat seperti ini:
sumber
Lihat di
setup.py
file paket yang Anda coba instal. Jika ini adalah paket yang lebih lama, itu mungkin mengimpordistutils.core.setup()
daripadasetuptools.setup()
.Saya berlari ke ini (pada 2015) dengan kombinasi faktor-faktor ini:
Microsoft Visual C ++ Compiler untuk Python 2.7 dari http://aka.ms/vcpython27
Paket yang lebih lama yang menggunakan
distutils.core.setup()
Mencoba melakukannya
python setup.py build
daripada menggunakanpip
.Jika Anda menggunakan versi terbaru dari pip, itu akan memaksa (monkeypatch) paket untuk menggunakan setuptools, bahkan jika
setup.py
panggilan untuk distutils. Namun, jika Anda tidak menggunakan pip, dan alih-alih hanya melakukanpython setup.py build
, proses build akan menggunakandistutils.core.setup()
, yang tidak tahu tentang lokasi pemasangan kompiler.Larutan
Langkah 1: Buka Visual C ++ 2008 Command Prompt yang sesuai
Buka menu Mulai atau layar Mulai, dan cari "Visual C ++ 2008 32-bit Command Prompt" (jika python Anda 32-bit) atau "Visual C ++ 2008 64-bit Command Prompt" (jika python Anda 64-bit) . Menjalankannya. Prompt perintah harus mengatakan Visual C ++ 2008 ... di bilah judul.
Langkah 2: Tetapkan variabel lingkungan
Setel variabel lingkungan ini di prompt perintah yang baru saja Anda buka.
Referensi http://bugs.python.org/issue23246
Langkah 3: Bangun dan pasang
cd
ke paket yang ingin Anda bangun, dan jalankanpython setup.py build
, lalupython setup.py install
. Jika Anda ingin menginstal ke virtualenv, aktifkan sebelum Anda membangun.sumber
Mungkin seseorang bisa tertarik, berikut ini bekerja untuk saya untuk paket py2exe. (Saya memiliki windows 7 64 bit dan python portabel 2.7, Visual Studio 2005 Express dengan Windows SDK untuk Windows 7 dan .NET Framework 4)
kemudian:
sumber
Saya menghabiskan hampir 2 hari mencari tahu bagaimana memperbaiki masalah ini di python saya versi 3.4 64 bit: Python 3.4.3 (v3.4.3: 9b73f1c3e601, 24 Feb 2015, 22:44:40) [MSC v.1600 64 bit (AMD64 )] pada win32
Solusi 1, sulit: (sebelum membaca ini, baca dulu Solusi 2 di bawah) Akhirnya, inilah yang membantu saya:
vcvars64.bat
diC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
yang berisiCALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
atau jalur lain tergantung di mana Anda telah menginstal Andasetelah itu saya mencoba
pip install numpy
tetapi menerima kesalahan berikut:Aku berubah
mfinfo
keNone
dalamC:\Python34\Lib\distutils\msvc9compiler.py
per ini https://stackoverflow.com/a/23099820/4383472pip install numpy
perintah antivirus avast saya mencoba untuk mengganggu proses instalasi, tetapi saya dengan cepat menonaktifkannyaButuh waktu sangat lama - beberapa menit untuk kompilasi numpy, saya bahkan berpikir bahwa ada kesalahan, tetapi akhirnya semuanya baik-baik saja.
Solusi 2, mudah: (Saya tahu pendekatan ini telah disebutkan dalam jawaban yang sangat banyak dipilih , tetapi izinkan saya mengulangi karena itu benar-benar lebih mudah) Setelah melalui semua pekerjaan ini saya mengerti bahwa cara terbaik bagi saya adalah hanya menggunakan sudah binari yang dikompilasi dari http://www.lfd.uci.edu/~gohlke/pythonlibs/ di masa depan. Ada kemungkinan sangat kecil bahwa saya akan memerlukan beberapa paket (atau versi paket) yang tidak dikandung oleh situs ini. Proses instalasi juga jauh lebih cepat dengan cara ini. Misalnya, untuk menginstal
numpy
:numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl
(jika Anda memiliki Python 3.4 64-bit) dari situs itupip install numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl
(atau path lengkap ke file tergantung bagaimana command prompt dibuka)sumber
Saya ingin menjalankan pysph pada Windows 10 di bawah Python 2.7 dan mendapat vcvarsall.bat tidak ditemukan (dari distutils)
Solusi saya adalah sebagai berikut:
Instal Microsoft Visual C ++ untuk Python 2.7 (seperti yang disarankan @Michael)
Pada Windows 10 diinstal ke (nama pengguna saya adalah Andreas):
Setel variabel lingkungan VS90COMNTOOLS ke jalur instalasi Visual C ++ untuk Python 2.7 (lihat jalur di atas).
Jika masih tidak berhasil, maka modifikasi dalam modul
file msvc9compiler.py . Temukan di dalamnya fungsi find_vcvarsall dan lakukan modifikasi berikut.
Ganti baris:
dengan
Di sinilah vcvarsall.bat berada dalam kasus saya (periksa, di mana vcvarsall.bat berada di instalasi Anda).
sumber
%userprofile%\Appdata\Local\Programs\Common
Adalah kosong bagi saya.Saya mengalami masalah ini ketika saya mencoba menginstal perpustakaan numpy di python 3.5 saya. Solusinya adalah menginstal VS2015. Saya punya VS2008, 2012, 2013, tidak ada yang kompatibel dengan python 3.5. Ternyata versi python yang lebih baru memiliki ketergantungan pada versi yang lebih baru dari VS.
Pastikan juga C ++ Common Tools diinstal dengan Visual Studio.
sumber
Saya mencoba semua jawaban di atas, dan menemukan semuanya tidak berfungsi, ini mungkin saya menggunakan Windows 8 dan telah menginstal Visual Studio 2012. Dalam hal ini, inilah yang Anda lakukan.
The
vcvarsall.bat
file terletak di sini:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
Cukup pilih file, dan salin.
Lalu buka direktori ini:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools
dan tempel file. Dan kemudian, semua harus baik-baik saja.
sumber
Anda dapat mengunduh Visual C ++ 2008 Express Edition gratis dari http://go.microsoft.com/?linkid=7729279 , yang akan mengatur variabel lingkungan VS90COMNTOOLS selama instalasi dan karenanya membangun dengan kompiler yang kompatibel.
Seperti @PiotrDobrogost disebutkan dalam komentar, jawabannya untuk pertanyaan lain ini menjelaskan secara terperinci tentang mengapa Visual C ++ 2008 adalah hal yang tepat untuk dibangun, tetapi ini dapat berubah karena Windows build dari Python bergerak ke versi Visual Studio yang lebih baru: Building lxml untuk Python 2.7 di Windows
sumber
Saya memiliki masalah ini menggunakan Python 3.4.1 pada Windows 7 x64 , dan sayangnya paket yang saya butuhkan tidak memiliki exe atau roda yang cocok yang bisa saya gunakan. Sistem ini membutuhkan beberapa 'solusi', yang dirinci di bawah ini (dan TLDR di bagian bawah ).
Menggunakan info dalam jawaban Jaxrtech di atas , saya memutuskan bahwa saya memerlukan Visual Studio C ++ 2010 (sys.version return MSC v.1600), jadi saya menginstal Visual C ++ 2010 Express dari tautan dalam jawabannya, yaitu http://go.microsoft .com /? linkid = 9709949 . Saya menginstal semuanya dengan pembaruan, tetapi seperti yang Anda baca di bawah, ini adalah kesalahan. Hanya versi asli Express yang harus diinstal saat ini (tidak ada yang diperbarui).
vcvarsall.bat sekarang ada, tetapi ada kesalahan baru saat menginstal paket
query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path']
,. Ada pertanyaan stackoverflow lain dengan kesalahan ini, seperti Kesalahan saat membangun / menginstal modul C untuk Python 2.7Saya memutuskan dari jawaban itu bahwa 2010 Express hanya menginstal kompiler 32-bit. Untuk mendapatkan kompiler 64-bit (dan lainnya), Anda harus menginstal Windows 7.1 SDK. Lihat http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
Ini tidak akan menginstal untuk saya, dan installer mengembalikan kesalahan
installation failed with return code 5100
. Saya menemukan solusinya di tautan berikut: http://support.microsoft.com/kb/2717426 . Singkatnya, jika versi yang lebih baru dari x86 dan x64 Microsoft Visual C ++ 2010 Redistributable diinstal, mereka bertentangan dengan yang ada di pemasang SDK, dan perlu dihapus terlebih dahulu.SDK kemudian diinstal, tetapi saya perhatikan vcvars64.bat masih belum ada
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
, juga subfoldernya. vcvarsall.bat menjalankan file batch vcvars64, jadi tanpa itu, paket python masih tidak mau menginstal (saya lupa kesalahan yang ditunjukkan saat ini).Saya kemudian menemukan beberapa instruksi di sini: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Download_VS_2010_and_Windows_SDK_7.1 Mengikuti petunjuk, saya sudah menginstal Express dan 7.1 SDK, jadi menginstal SDK 7.1 SP1, dan melakukan SDK 7.1 SP1, dan melakukan memperbaiki file header yang hilang. Saya kemudian secara manual membuat vcvars64.bat dengan kontennya
CALL setenv /x64
. Saya akan menempelkan semua instruksi itu di sini, agar tidak hilang.Paket python saya masih belum menginstal (tidak dapat mengingat kesalahan). Saya kemudian menemukan beberapa instruksi (disalin di bawah) untuk menggunakan Command Prompt SDK 7.1 khusus, lihat: https://mail.python.org/pipermail/distutils-sig/2012-February/018300.html
Saya membuka Windows SDK 7.1 Command Prompt seperti yang diperintahkan, dan menggunakannya untuk menjalankan easy_install pada paket python. Dan akhirnya, sukses!
TLDR ;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
dengan konten secara manualCALL setenv /x64
sumber
Di bawah langkah-langkah memperbaiki masalah ini untuk saya, saya mencoba membuat pengaturan dengan ekstensi cython.
Untuk beberapa alasan distutils mengharapkan file vcvarsall.bat berada dalam dir VC, tetapi VC ++ untuk alat python memilikinya di root 9.0 Untuk memperbaikinya, hapus "VC" dari path.join (kira-kira di sekitar baris 247)
#productdir = os.path.join(toolsdir, os.pardir, os.pardir, "VC") productdir = os.path.join(toolsdir, os.pardir, os.pardir)
Langkah-langkah di atas memperbaiki masalah untuk saya.
sumber
Saya mencoba banyak solusi tetapi hanya satu yang berfungsi untuk saya, instalasi Microsoft Visual Studio 2008 Express C ++.
Saya mendapatkan masalah ini dengan modul Python 2.7 yang ditulis dalam C (yEnc, yang memiliki masalah lain dengan MS VS). Perhatikan bahwa Python 2.7 dibangun dengan versi MS VS 2008, bukan 2010!
Terlepas dari kenyataan itu gratis, cukup sulit untuk menemukan karena MS mempromosikan VS 2010. Namun, tautan langsung MSDN resmi masih berfungsi: periksa https://stackoverflow.com/a/15319069/2227298 untuk tautan unduhan.
sumber
Jika Anda telah menginstal mingw
berfungsi, memaksa pip untuk membangun menggunakan kompiler mingw bukan milik Microsoft. Lihat di sini https://github.com/pypa/pip/issues/18 untuk detailnya (posting terakhir).
sumber
Apakah Microsoft Visual C ++ Compiler untuk Python 2.7 di http://www.microsoft.com/en-us/download/details.aspx?id=44266 bukan solusi?
sumber
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
Cara termudah untuk menyelesaikan ini pada tahun 2016 adalah menginstal Chocolatey dan kemudian
vcpython27
paketnya. Buka Powershell:sumber
Saya tidak tahu apakah sudah terlambat, tapi saya menemukan Microsoft Visual C ++ Compiler untuk Python 2.7 yang berbunyi
Semoga ini membantu!
sumber
Saya mendapat masalah yang sama dan telah menyelesaikannya saat ini.
"Google" memberi tahu saya bahwa saya perlu menginstal "Microsoft Visual C ++ Compiler untuk Python 2.7". Saya menginstal tidak hanya alat, tetapi juga Visual C ++ 2008 Reditributable, tetapi tidak membantu. Saya kemudian mencoba menginstal Visual C ++ 2008 Express Edition. Dan masalahnya telah hilang!
Coba instal Visual C ++ 2008 Express Edition!
sumber
memanggil
import setuptools
akan menambal distutils untuk memaksa kompatibilitas dengan Visual Studio. Memanggilvcvars32.bat
secara manual akan mengatur lingkungan virtual dan mencegah kesalahan umum lainnya yang akan dilempar kompiler. Untuk VS 2017 file tersebut berada diBerikut ini skrip pengaturan yang saya gunakan untuk mengkompilasi file .pyx dengan cepat ke .pyd: (Catatan: ini menggunakan modul pihak ketiga send2trash
sumber
setuptools
membantu, juga dalam hal kompilasi cython .Gunakan tautan ini untuk mengunduh dan menginstal Visual C ++ 2015 Build Tools . Secara otomatis akan mengunduh
visualcppbuildtools_full.exe
dan menginstal Visual C ++ 14.0 tanpa benar-benar menginstal Visual Studio. Setelah instalasi selesai, coba lagi pemasangan pip dan Anda tidak akan mendapatkan kesalahan lagi.Saya telah mengujinya pada platform dan versi berikut:
sumber
Jika Anda ingin menginstal pyodbc pada kotak Windows yang tidak memiliki Visual Studio diinstal pilihan lain adalah menginstal pyodbc secara manual menggunakan distribusi biner.
Ini sangat berguna jika Anda tidak memiliki hak administrator pada mesin yang sedang bekerja dengan Anda dan sedang mencoba mengatur virtualenv .
Langkah:
[python installation directory or virtualenv]\Lib\site-packages
sumber
Dengan Python 3.4, ketergantungannya adalah pada Visual Studio 2010. Menginstal Visual C ++ 2010 Express memperbaiki masalah bagi saya.
Menipu untuk menggunakan pemasangan VS 2008 atau 2013 yang kebetulan saya tidak berhasil.
sumber
Anda dapat menggunakan easy_install sebagai ganti pip berfungsi untuk saya.
sumber
error: Setup script exited with error: Unable to find vcvarsall.bat
Jawaban yang diberikan oleh @monkey adalah salah satu yang benar, tetapi tidak lengkap.
Jika Anda ingin menggunakan MinGW , Anda harus memilih C, C ++ dan juga alat pengembangan lain yang disarankan selama proses instalasi MinGW untuk mendapatkan "make.exe."
Anda juga harus mengatur path ke make.exe di env.
Untuk melengkapi jawabannya, berikut adalah langkah-langkahnya:
C:\Programs\MinGW\bin;C:\Programs\MinGW\msys\1.0\bin;
ke PATHEdit (buat jika tidak ada)
distutils.cfg
file yang berada diC:\Python26\Lib\distutils\distutils.cfg
menjadi:Pastikan variabel lingkungan diatur dengan membuka cmd.exe baru.
sumber
x86_64-w64-mingw32-gcc
dani686-w64-mingw32-gcc
. Executable ini tampaknya sama dengan yang Anda dapatkan dari Mingw biasanya (hanya dikompilasi di dalam lingkungan Cygwin).