python - خطأ: غير قادر على العثور على vcvarsall.bat




windows pip (20)

حاولت تثبيت dulwich حزمة بايثون:

pip install dulwich

لكنني أتلقى رسالة خطأ خفية:

error: Unable to find vcvarsall.bat

يحدث نفس الأمر إذا حاولت تثبيت الحزمة يدويًا:

> python setup.py install
running build_ext
building 'dulwich._objects' extension
error: Unable to find vcvarsall.bat

إذا كنت تريد ترجمة مع Visual Studio C ++ بدلاً من mingw ...

  1. تشغيل python.exe لعرض إصدار VC ++ الذي تم python.exe برمجيًا (يظهر المثال أدناه).

    من المهم استخدام الإصدار المقابل من برنامج التحويل البرمجي Visual C ++ الذي تم تجميع Python به منذ أن تمنع get_build_version نسخ الاختلاط ( لكل تحذير Piotr ).

    • الأصفر (الأعلى) هو Python 2.7 ، تم تجميعه مع MSC v.1500 (Visual Studio C ++ 2008)
    • الأحمر (السفلي) هو Python 3.4.1 ، تم تجميعه مع MSC v.1600 (Visual Studio C ++ 2010)

  2. استخدم الجدول أدناه [1] لمطابقة إصدار VC ++ الداخلي مع إصدار Visual Studio المطابق:

    MSC v.1000 -> Visual C++ 4.x        
    MSC v.1100 -> Visual C++ 5          
    MSC v.1200 -> Visual C++ 6          
    MSC v.1300 -> Visual C++ .NET       
    MSC v.1310 -> Visual C++ .NET 2003  
    MSC v.1400 -> Visual C++ 2005  (8.0)
    MSC v.1500 -> Visual C++ 2008  (9.0)
    MSC v.1600 -> Visual C++ 2010 (10.0)
    MSC v.1700 -> Visual C++ 2012 (11.0)
    MSC v.1800 -> Visual C++ 2013 (12.0)
    MSC v.1900 -> Visual C++ 2015 (14.0)
    MSC v.1910 -> Visual C++ 2017 (15.0)      
    
  3. قم بتنزيل الإصدار المقابل من Visual Studio C ++ وتثبيته من الخطوة السابقة.
    ملاحظات إضافية لإصدارات محددة من VC ++ مذكورة أدناه.

    ملاحظات لبرنامج Visual Studio C ++ 2008

    فقط من أجل compilers 32-بت ، قم بتنزيل Visual Studio C ++ 2008 Express Edition .

    بالنسبة إلى برامج التحويل البرمجي 64 بت [2] [3] ، قم بتنزيل Windows SDK لـ Windows 7 و .NET Framework 3.5 SP1 .

    • قم بإلغاء تحديد كل شيء باستثناء Developer Tools >> Visual C++ Compilers لتوفير الوقت ومساحة القرص من تثبيت أدوات SDK التي لا تحتاج إليها بخلاف ذلك.

    ملاحظات لبرنامج Visual Studio C ++ 2010

    وفقاً لـ Microsoft ، إذا قمت بتثبيت Visual Studio 2010 SP1 ، فقد يكون قد قام بإزالة compilers ومكتبات VC ++.
    إذا كانت هذه هي الحالة ، قم بتنزيل Visual C ++ 2010 SP1 Compiler Update .

    ملاحظات لبرنامج Visual Studio C ++ 2015

    إذا لم تكن في حاجة إلى Visual Studio IDE ، قم بتنزيل Visual Studio C ++ 2015 Build Tools .

    ملاحظات لبرنامج Visual Studio C ++ 2017

    إذا لم تكن بحاجة إلى Visual Studio IDE ، فقم بتنزيل Build Tools for Visual Studio 2017 .

    اقتراح : إذا كان لديك تثبيت بيثون 32 بت و 64 بت ، فقد تحتاج أيضًا إلى استخدام virtualenv لإنشاء بيئات بيثون منفصلة بحيث يمكنك استخدام أحدهما أو الآخر في وقت بدون العبث virtualenv لاختيار أي إصدار بايثون استعمال.

وفقًا لـ @srodriguex ، قد تتمكن من تخطي ملف الدفعة يدويًا (الخطوات من 4 إلى 6) عن طريق نسخ ملفات دفعية قليلة بدلاً من ذلك إلى حيث تبحث بايثون عن طريق اتباع هذه الإجابة . إذا لم يفلح ذلك ، فإليك الخطوات التالية التي عملت في الأصل بالنسبة لي.

  1. افتح cmd.exe

  2. قبل محاولة تثبيت شيء يتطلب ملحقات C ، قم بتشغيل الملف الدفعي التالي لتحميل بيئة برنامج التحويل البرمجي VC ++ إلى الجلسة (أي متغيرات البيئة ، المسار إلى المحول البرمجي ، إلخ).

    نفذ - اعدم:

    • compilers 32-بت:

      ملاحظة : سيحتوي تثبيت Windows 32 بت على C:\Program Files\ كما هو متوقع

      "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"

    • compilers 64 بت:

      "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars64.bat"

      ملاحظة : نعم ، توجد Program Files (x86) التحويل البرمجي الأصلية 64 بت في Program Files (x86) . لا تسألني لماذا.
      بالإضافة إلى ذلك ، إذا كنت تتساءل عن الفرق بين vcvars64.bat و vcvarsx86_amd64.bat أو الأهم من ذلك الفرق بين amd64 و x86_amd64 ، فالأولى هي لأدوات المحول البرمجي الأصلية ذات 64-بت والأخيرة هي برامج التحويل البرمجي 64 بت التي يمكنها تعمل على تثبيت ويندوز 32 بت.

    تحديث:
    إذا كنت تحصل لسبب ما لسبب ما error: ... was unexpected at this time. حيث ... هي سلسلة من الأحرف ، فأنت بحاجة إلى التحقق من أن متغير المسار لا يحتوي على أي أحرف غريبة مثل عروض الأسعار الإضافية أو الأحرف الضالة. لن يتمكن ملف الدُفعات من تحديث مسار جلسة العمل الخاص بك إذا لم يكن قادراً على فهمه في المقام الأول.

  3. إذا سار ذلك بشكل جيد ، يجب أن تحصل على إحدى الرسائل التالية اعتمادًا على إصدار VC ++ والأمر الذي قمت بتشغيله:

    لأدوات المترجم 32 بت:
    Setting environment for using Microsoft Visual Studio 20xx x86 tools.

    لأدوات المترجم 64 بت:
    Setting environment for using Microsoft Visual Studio 20xx x64 tools.

  4. الآن ، قم بتشغيل الإعداد عبر python setup.py install أو pip install pkg-name

  5. أمل وعبر أصابعك أن الكواكب محاذاة بشكل صحيح لـ VC ++ للتعاون.


ابحث في ملف setup.py للحزمة التي تحاول تثبيتها. إذا كانت حزمة قديمة ، فقد يكون استيراد distutils.core.setup() بدلاً من setuptools.setup() .

دخلت إلى هذا (في عام 2015) مع مجموعة من هذه العوامل:

  1. مترجم Microsoft Visual C ++ لـ Python 2.7 من http://aka.ms/vcpython27

  2. حزمة قديمة تستخدم distutils.core.setup()

  3. تحاول أن تفعل python setup.py build بدلا من استخدام pip .

إذا كنت تستخدم إصدارًا حديثًا من النقطة ، فستقوم بإجبار الحزمة (monkeypatch) على استخدام setuptools ، حتى إذا كان setup.py يستدعي distutils. ومع ذلك ، إذا كنت لا تستخدم النقطة ، وبدلاً من ذلك تقوم python setup.py build ، ستستخدم عملية distutils.core.setup() ، التي لا تعرف موقع تثبيت برنامج التحويل البرمجي.

حل

الخطوة 1: افتح موجه الأوامر 2008 Visual C ++ المناسب

افتح القائمة ابدأ أو شاشة البدء ، وابحث عن "موجه الأوامر لـ Visual C ++ 2008 32-بت" (إذا كان python الخاص بك هو 32 بت) أو "موجه الأوامر Visual C ++ 2008 64 بت" (إذا كان python الخاص بك هو 64 بت) . شغلها. يجب أن يقول موجه الأوامر Visual C ++ 2008 ... في شريط العنوان.

الخطوة 2: قم بتعيين متغيرات البيئة

قم بتعيين متغيرات البيئة هذه في موجه الأوامر الذي فتحته للتو.

SET DISTUTILS_USE_SDK=1
SET MSSdk=1

المرجع http://bugs.python.org/issue23246

الخطوة 3: بناء وتثبيت

cd إلى الحزمة التي ترغب في python setup.py build ، وتشغيل python setup.py build ، ثم python setup.py install . إذا كنت ترغب في تثبيت في virtualenv ، فقم بتنشيطه قبل أن تبدأ في الإنشاء.


ستحتاج إلى تثبيت مترجم Microsoft ، متوافق مع المحول البرمجي المستخدم لبناء بايثون. هذا يعني أنك تحتاج Visual C ++ 2008 (أو الأحدث ، مع share ).

توفر شركة Microsoft الآن مترجمًا ورؤوسًا مجمعة فقط لتتمكن من تجميع إضافات Python ، على عنوان URL الذي لا ينسى:

Microsoft Visual C ++ Compiler for Python 2.7

http://aka.ms/vcpython27

هذا هو حزمة صغيرة نسبيا. 85MB للتحميل ، قابل للتثبيت دون امتيازات المسؤول ، لا يلزم إعادة التشغيل. الاسم مضلل بعض الشيء ، سيعمل المجمع على أي إصدار بايثون تم تجميعه في الأصل مع Visual C ++ 2008 ، وليس فقط Python 2.7.

في حالة بدء تشغيل موجه بيثون تفاعلي أو طباعة sys.version ، ابحث عن سلسلة إصدار MSC ؛ إذا كان MSC v.1500 يمكنك استخدام هذه الأداة.

من الإعلان الأصلي لقائمة المستفيدين :

قامت Microsoft بإصدار حزمة مترجم لـ Python 2.7 لتسهل على الأشخاص إنشاء الوحدات النمطية C الخاصة بهم وتوزيعها على Windows. يتوفر مترجم Microsoft Visual C ++ لـ Python 2.7 (aka VC9) من: http://aka.ms/vcpython27

تحتوي هذه الحزمة على جميع الأدوات والرؤوس المطلوبة لبناء وحدات تمديد C لـ Python 2.7 32 بت و 64 بت (لاحظ أن بعض وحدات الإضافات تتطلب تبعيات تابعة لجهات خارجية مثل OpenSSL أو libxml2 التي لم يتم تضمينها). كما يتم دعم الإصدارات الأخرى من Python التي تم إنشاؤها باستخدام Visual C ++ 2008 ، لذا فإن "Python 2.7" هي إعلانات فقط - ستعمل بشكل جيد مع 2.6 و 3.2.

لاحظ أنه يجب أن يكون لديك setuptools 6.0 أو الأحدث مثبتًا (مدرجًا في متطلبات النظام على صفحة التنزيل). يجب أن يستخدم المشروع الذي تقوم بتثبيته setuptools.setup() ، وليس distutils أو لن يعمل الكشف التلقائي.

لقد صرحت Microsoft أنها تريد الحفاظ على عنوان URL مستقرًا ، حتى تتمكن البرامج النصية الآلية من الرجوع إليه بسهولة.


قضيت ما يقرب من يومين في معرفة كيفية إصلاح هذه المشكلة في الإصدار 3.4 64 من بيثون: Python 3.4.3 (الإصدار 4.3.3: 9b73f1c3e601 ، 24 فبراير 2015 ، 22:44:40) [MSC v.1600 64 bit (AMD64 )] على win32

الحل 1 ، من الصعب: (قبل قراءة هذا ، اقرأ الحل الأول 2 أدناه) في النهاية ، هذا ما ساعدني:

  1. قم بتثبيت Visual C ++ 2010 Express
  2. قم بتثبيت Microsoft Windows SDK v7.1 لـ Windows 7
  3. إنشاء ملف يدوي vcvars64.bat في C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 الذي يحتوي على CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 أو مسار آخر حسب المكان الذي قمت بتثبيته
  4. (هذا يبدو اختياريًا) تثبيت Microsoft Visual Studio 2010 المزود بحزمة الخدمة Service Pack 1 مع تحديث Microsoft Visual C ++ 2010 المزود بحزمة الخدمة Service Pack 1 لبرنامج Windows SDK 7.1
  5. بعد ذلك حاولت أن pip install numpy ولكن تلقت الخطأ التالي:

    File "numpy\core\setup.py", line 686, in get_mathlib_info
    raise RuntimeError("Broken toolchain: cannot link a simple C program")
    RuntimeError: Broken toolchain: cannot link a simple C program
    

    لقد غيرت mfinfo إلى None في C:\Python34\Lib\distutils\msvc9compiler.py لكل هذا https://.com/a/23099820/4383472

  6. أخيرا بعد أن أمر pip install numpy حاول مضاد الفيروسات أفاست التدخل في عملية التثبيت ، لكنني قمت بتعطيله بسرعة

استغرق الأمر طويلا - عدة دقائق لتجمعها المتقلب ، حتى ظننت أن هناك خطأ ، ولكن في النهاية كان كل شيء على ما يرام.

الحل 2 ، سهل: (أعلم أن هذا النهج قد تم ذكره بالفعل في answer مصوَّبة للغاية ، لكن دعني أكرر لأنه أسهل بالفعل) بعد المرور بكل هذا العمل ، فهمت أن أفضل طريقة بالنسبة لي هي فقط لاستخدام ثنائيات مجمعة مسبقًا من http://www.lfd.uci.edu/~gohlke/pythonlibs/ في المستقبل. هناك احتمال ضئيل للغاية لأنني سأحتاج إلى حزمة (أو نسخة من حزمة) لا يحتويها هذا الموقع. عملية التثبيت هي أيضا أسرع بكثير بهذه الطريقة. على سبيل المثال ، لتثبيت numpy :

  1. donwload numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl (إذا كان لديك Python 3.4 64 بت) من هذا الموقع
  2. في موجه الأوامر أو PowerHell تثبيته مع نقطة pip install numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl (أو المسار الكامل للملف اعتمادا على كيفية فتح موجه الأوامر)

لقد جربت جميع الإجابات المذكورة أعلاه ، ووجدت أن جميعهم لا يعملون ، ربما كنت أستخدم Windows 8 وقمت بتثبيت Visual Studio 2012. وفي هذه الحالة ، هذا ما تفعله.

vcvarsall.bat الملف vcvarsall.bat هنا: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC

ما عليك سوى اختيار الملف ونسخه.

ثم انتقل إلى هذا الدليل: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools

ولصق الملف. ومن ثم ، يجب أن يكون كل شيء على ما يرام.


لقد واجهت هذه المشكلة باستخدام Python 3.4.1 على نظام التشغيل Windows 7 x64 ، وللأسف لم تكن الحزم التي احتجت إليها تحتوي على إكس أو عجلات مناسبة يمكنني استخدامها. يتطلب هذا النظام بعض "الحلول البديلة" ، والتي يتم تفصيلها أدناه (و TLDR في الأسفل ).

باستخدام المعلومات في الإجابة Jaxrtech أعلاه ، أنا قررت أنني بحاجة إلى Visual Studio C ++ 2010 (sys.version العودة MSC v.1600) ، لذلك قمت بتثبيت Visual C ++ 2010 Express من الرابط في إجابته ، وهو http://go.microsoft.com .com /؟ linkid = 9709949 . لقد قمت بتثبيت كل شيء مع التحديثات ، ولكن كما يمكنك قراءة أدناه ، كان هذا خطأ. يجب تثبيت الإصدار الأصلي من Express فقط في هذا الوقت (لا يوجد أي شيء محدث).

vcvarsall.bat كان موجودا الآن ، ولكن كان هناك خطأ جديد عند تثبيت الحزمة ، query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path'] . هناك أسئلة أخرى حول مع هذا الخطأ ، مثل أخطاء أثناء بناء / تركيب وحدة C لبيثون 2.7

لقد حددت من تلك الإجابة أن 2010 Express يثبت فقط برامج التحويل البرمجي 32 بت. للحصول على compilers (و) الأخرى 64 بت ، تحتاج إلى تثبيت Windows 7.1 SDK. انظر http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx

هذا لن تثبيت لي رغم ذلك ، وعاد المثبت installation failed with return code 5100 . لقد وجدت الحل على الرابط التالي: http://support.microsoft.com/kb/2717426 . باختصار ، إذا تم تثبيت إصدارات أحدث من x86 و x64 Microsoft Visual C ++ 2010 القابلة لإعادة التوزيع ، فإنها تتعارض مع تلك الموجودة في مثبت SDK ، وتحتاج إلى إزالة التثبيت أولاً.

SDK ثم تثبيت ولكن لاحظت vcvars64.bat لا تزال غير موجودة في C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin أو المجلدات الفرعية الخاصة به. يدير vcvarsall.bat ملف الدُفعة vcvars64 ، لذا بدونه ، لن يتم تثبيت حزمة python حتى الآن (نسيت الخطأ الذي تم عرضه في هذا الوقت).

بعد ذلك ، عثرت على بعض الإرشادات هنا: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Download_VS_2010_and_Windows_SDK_7.1 باتباع الإرشادات ، قمت بالفعل بتثبيت Express و 7.1 SDK ، لذا تم تثبيت SDK 7.1 SP1 ، في عداد المفقودين ملف إصلاح. ثم قمت بإنشاء vcvars64.bat يدويًا باستخدام المحتوى CALL setenv /x64 . سوف ألصق كل هذه التعليمات هنا ، حتى لا تضيع.

الخطوة 1 هي تحميل Visual Studio Express 2010.

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express هو مكان جيد للبدء. قم بتنزيل برنامج التثبيت ، ثم قم بتشغيله (vc_web.exe). لا تحتاج إلى تنزيل إضافي لـ SQL 2008.

ستحتاج أيضًا إلى Windows SDK (حاليًا 7.1) لمترجمات 64-بت - ما لم ترغب في تنفيذ 32 بت فقط ، والتي لا يتم دعمها بشكل كامل ...

http://www.microsoft.com/en-us/download/details.aspx؟id=8279 نقطة انطلاق جيدة لتنزيل هذا - سترغب في تشغيل winsdk_web.exe عند تنزيله!

التثبيت الافتراضي هنا على ما يرام.

أخيرًا ، قم بتنزيل تحديث حزمة الخدمة SP1 الخاصة بنظام Windows SDK 7.1 وتثبيته: http://www.microsoft.com/en-us/download/details.aspx؟id=4422

ولإصلاح ملف رأس المفقودين ، VS2010 SP1. http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5

والجحيم الدموي ، إصلاح ملف دفعي مفقود لـ VS2010 Express. هذا هو الحصول على عبثي اكيد.

في C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64 ، قم بإنشاء "vcvars64.bat" بما يلي (ستحتاج إلى تشغيل كمسؤول):

CALL setenv / x64

لم يتم تثبيت حزمة بيثون الخاصة بي (لا يمكن تذكر الخطأ). بعد ذلك ، وجدت بعض الإرشادات (التي تم نسخها أدناه) لاستخدام أداة SDK 7.1 الخاصة بموجه الأوامر ، انظر: https://mail.python.org/pipermail/distutils-sig/2012-February/018300.html

لا يهم هذا السؤال. Somebody here noticed this item on the menu: Start->All Programs->Microsoft Windows SDK v7.1 ->Windows SDK 7.1 Command Prompt

This runs a batch job that appears to set up a working environment for the compiler. From that prompt, you can type "setup.py build" or "setup.py install".

I opened the Windows SDK 7.1 Command Prompt as instructed, and used it to run easy_install on the python package. And at last, success!

TLDR ;

  1. Install Visual Studio Express 2010 (preferably without updated redistributables or SQL server).
  2. Install Windows 7.1 SDK
  3. Instal SDK 7.1 SP1 update, and VS2010 SP1 header file fix (this step may not be required).
  4. Manually create C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat with content CALL setenv /x64
  5. Start->All Programs->Microsoft Windows SDK v7.1 ->Windows SDK 7.1 Command Prompt to open special x64 command prompt, which can then be used with python/easy_install/pip/etc (including those in virtual_envs).

لقد واجهت هذه المشكلة فقط ، لذلك سأحكي قصتي هنا على أمل أن تساعد شخصًا آخر في حل المشكلات نفسها وحفظها في الساعات القليلة التي قضيتها للتو:

لدي mingw (g + (GCC) 4.6.1) و python 2.7.3 في صندوق windows 7 وأنا أحاول تثبيت PyCrypto.

بدأ كل شيء بهذا الخطأ عند تشغيل setup.py install:

error: Unable to find vcvarsall.bat

حلها بسهولة بعد غوغل الخطأ عن طريق تحديد mingw كما المجمع من الاختيار:

setup.py install build --compiler=mingw32

المشكلة هي أني حصلت على خطأ مختلف:

configure: error: cannot run C compiled programs.

وتبين أن بلدي مكافحة الفيروسات تمنع تنفيذ .exe المترجمة حديثا. أنا فقط تعطيل "درع المقيمين" مكافحة الفيروسات وذهب إلى الخطأ التالي:

cc1.exe: error: unrecognized command line option '-mno-cygwin' 
error: command 'gcc' failed with exit status 1

هذا حلها: "إما تثبيت إصدار أقدم قليلا من MinGW ، أو تحرير distutils \ cygwinccompiler.py في دليل Python الخاص بك لإزالة كافة مثيلات -mno-cygwin." (من here )

الآن ، أستطيع أن أبدأ العمل في النهاية.


لقد وجدت الحل. كان لدي نفس المشكلة بالضبط ، والخطأ ، وتركيب "العمارة". كنت قد قمت بتثبيت mingw32 ، ولكن تحتاج إلى تهيئتها distutils.

  1. لدي Python 2.6 التي تم تثبيتها بالفعل.
  2. لقد قمت بتثبيت mingw32 على C:\programs\mingw\
  3. إضافة دليل bin mingw32 إلى متغير البيئة الخاص بك: إلحاق c:\programs\MinGW\bin; إلى PATH
  4. حرر ملف C:\Python26\Lib\distutils\distutils.cfg (إن لم يكن موجودًا) الموجود في C:\Python26\Lib\distutils\distutils.cfg ليكون:

    [build]
    compiler=mingw32
    
  5. الآن قم بتشغيل easy_install.exe amara .

تأكد من ضبط البيئة عن طريق فتح cmd.exe جديد.


يبدو وكأنه يبحث عن compilers VC ، لذلك يمكنك محاولة الإشارة إلى نوع المحول مع -c mingw32 ، حيث أن لديك msys

python setup.py install -c mingw32


التحديث : تشير التعليقات إلى أن التعليمات الواردة هنا قد تكون خطيرة. جرب استخدام إصدار Visual C ++ 2008 Express أو برنامج microsoft.com/en-us/download/details.aspx?id=44266 الغرض microsoft.com/en-us/download/details.aspx?id=44266 ( details ) و NOT باستخدام الإجابة الأصلية أدناه. رسالة الخطأ الأصلية تعني عدم تثبيت الإصدار المطلوب من Visual C ++.

لتركيبات ويندوز:

أثناء تشغيل setup.py لعمليات تثبيت الحزم ، يبحث Python 2.7 عن تثبيت Visual Studio 2008. يمكنك خداع Python لاستخدام Visual Studio أحدث عن طريق تعيين المسار الصحيح في متغير بيئة VS90COMNTOOLS قبل استدعاء setup.py .

تنفيذ الأمر التالي استناداً إلى الإصدار من Visual Studio مثبت:

  • Visual Studio 2010 (VS10): SET VS90COMNTOOLS=%VS100COMNTOOLS%
  • Visual Studio 2012 (VS11): SET VS90COMNTOOLS=%VS110COMNTOOLS%
  • Visual Studio 2013 (VS12): SET VS90COMNTOOLS=%VS120COMNTOOLS%
  • Visual Studio 2015 (VS14): SET VS90COMNTOOLS=%VS140COMNTOOLS%

تحذير: كما هو موضح أدناه ، من المستبعد أن تعمل هذه الإجابة إذا كنت تحاول تجميع وحدات python.

راجع بناء lxml لـ Python 2.7 على Windows للحصول على التفاصيل.



Go here: http://docs.continuum.io/anaconda/install.html#windows-install

There are instructions to install anaconda which will provide a GUI and a silent install of a majority of the packages that seem to be causing this issue from http://www.scipy.org/ . I am aware of the solution for 2.7 here https://www.microsoft.com/en-us/download/details.aspx?id=44266 but I did not see an option for Python 3.4. After downloading and installing Anaconda you should be able to import a majority of the packages you need from scipy.

Hope this helps some people. Took me 45 minutes of scouring posts and sites.

EDIT: Just wanted to note there is a Python34 link on the GUI page next to the OS symbols.


I don't know if it is too late, but I found microsoft.com/en-us/download/details.aspx?id=44266 which reads

The typical error message you will receive if you need this compiler package is Unable to find vcvarsall.bat

أتمنى أن يساعدك هذا!


I tried many solutions but only one worked for me, the install of Microsoft Visual Studio 2008 Express C++.

I got this issue with a Python 2.7 module written in C (yEnc, which has other issues with MS VS). Note that Python 2.7 is built with MS VS 2008 version, not 2010!

Despite the fact it's free, it is quite hard to find since MS is promoting VS 2010. Still, the MSDN official very direct links are still working: check https://.com/a/15319069/2227298 for download links.


I wanted to run pysph on Windows 10 under Python 2.7 and got vcvarsall.bat was not found (from distutils)

My solution was the following:

Install Microsoft Visual C++ for Python 2.7 (like @Michael suggested)

On Windows 10 it was installed into (my username is Andreas):

C:\Users\Andreas\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0

Set environment variable VS90COMNTOOLS to the installation path of Visual C++ for Python 2.7 (see above path).

If it still doesn't work, then modifiy in the module

C:/Python27/lib/distutils

the file msvc9compiler.py . Find in it the function find_vcvarsall and do following modification.

Replace the line:

productdir = os.path.join(toolsdir, os.pardir, os.pardir, "VC")

مع

productdir = os.path.join(toolsdir)

This is where vcvarsall.bat resides in my case (check, where vcvarsall.bat is in your installation).


If you're looking to install pyodbc on a Windows box that doesn't have Visual Studio installed another option is to manually install pyodbc using the binary distribution.

This is particularly useful if you do not have administrator privileges on the machine you're working with and are trying to set up a virtualenv .

خطوات:

  1. Download the latest Windows installer from here (pyodbc-XXXwin-Y-py2.7.exe)
  2. Open the installer executable using 7-Zip (or WinRAR or whatever)
  3. Extract pyodbc.pyd and pyodbc-XXX-py2.7.egg-info and place them in [python installation directory or virtualenv]\Lib\site-packages
  4. There is no step 4 :)


The easiest way to solve this in 2016 is to install Chocolatey and then the vcpython27 package. Open Powershell:

> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
> choco install python2 -y
> choco install vcpython27 -y

With Python 3.4, the dependency is on Visual Studio 2010. Installing Visual C++ 2010 Express fixed the problem for me.

Tricking it into using the VS 2008 or 2013 installs that I happened to have didn't work.







failed-installation