ত্রুটি: vcvarsall.bat খুঁজে পেতে অক্ষম


851

আমি পাইথন প্যাকেজ ডুলউইচ ইনস্টল করার চেষ্টা করেছি :

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

6
ভবিষ্যতের রেফারেন্সের জন্য আপনি কী প্ল্যাটফর্মটি ব্যবহার করেন তা দেখে ভাল লাগবে।
viam0Zah 31'11

47
আপনি যদি মনে করেন এটি একটি হাস্যকর ক্রিপ্টিক এবং অহেতুক ত্রুটি বার্তা, দয়া করে বাগের জন্য ভোট দিন bugs.python.org/issue2943
কর্নেল প্যানিক

48
মাইক্রোসফ্ট এখন একটি সমাধান সরবরাহ করে: microsoft.com/en-us/download/details.aspx?id=44266
মার্টিজান পিটারস

6
@ মার্তিজনপাইটার্স আমি আপনার দ্বারা সরবরাহিত লিঙ্কটি হুইল এবং সেটআপলুলগুলি 7.0 ডাউনলোড এবং ইনস্টল করার চেষ্টা করেছি কিন্তু এটি কাজ করে না আমি বার্তাটি 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
পেয়েছি

4
স্টিভ ডওয়ার (মাইক্রোসফ্টের পাইথন দলের একজন লোক) এই বিষয়টি সম্পর্কে একটি ব্লগ পোস্ট লিখেছেন: পড়াশুনা করার জন্য: ব্লগস.এমএসএনএন.মাইক্রোসফট.
কোডি পাইয়ার্সাল

উত্তর:


683

আপডেট : মন্তব্যগুলি নির্দেশ করে যে এখানে নির্দেশাবলী বিপজ্জনক হতে পারে। পাইথনের জন্য বিবরণ সি ++ ২০০ এক্সপ্রেস সংস্করণ বা উদ্দেশ্য-নির্মিত মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ সংকলক ( বিশদ ) এবং নীচের মূল উত্তরটি ব্যবহার না করে ব্যবহার করুন। আসল ত্রুটি বার্তাটির অর্থ ভিজ্যুয়াল সি ++ এর প্রয়োজনীয় সংস্করণ ইনস্টল করা নেই।


উইন্ডোজ ইনস্টলেশন জন্য:

প্যাকেজ ইনস্টলেশনের জন্য setup.py চালানোর সময়, একটি জন্য পাইথন 2.7 অনুসন্ধান ভিসুয়াল স্টুডিও 2008 আপনি সঠিক পাথ সেট করে একটি নতুন ভিসুয়াল স্টুডিও ব্যবহার করতে পাইথন রত পারেন ইনস্টল VS90COMNTOOLSকল করার আগে এনভায়রনমেন্ট ভেরিয়েবল setup.py

ইনস্টল করা ভিজ্যুয়াল স্টুডিওর সংস্করণের উপর ভিত্তি করে নিম্নলিখিত কমান্ডটি কার্যকর করুন:

  • ভিজ্যুয়াল স্টুডিও 2010 (ভিএস 10): SET VS90COMNTOOLS=%VS100COMNTOOLS%
  • ভিজ্যুয়াল স্টুডিও 2012 (ভিএস 11): SET VS90COMNTOOLS=%VS110COMNTOOLS%
  • ভিজ্যুয়াল স্টুডিও 2013 (ভিএস 12): SET VS90COMNTOOLS=%VS120COMNTOOLS%
  • ভিজ্যুয়াল স্টুডিও 2015 (ভিএস 14): SET VS90COMNTOOLS=%VS140COMNTOOLS%

সতর্কতা: নীচে উল্লিখিত হিসাবে, আপনি পাইথন মডিউলগুলি সংকলনের চেষ্টা করছেন তবে এই উত্তরটি কার্যকর হওয়ার সম্ভাবনা নেই।

উইন্ডোজটিতে পাইথন ২.7 এর জন্য বিল্ডিং lxML দেখুন ।


21
এটি আমার জন্য করেছিল :(
fmuecke

8
@ গিলি: দেখে মনে হচ্ছে এই সমস্যাটি ভেরিয়েবলের ফাঁকা জায়গাগুলির কারণে, উদ্ধৃতিগুলির মধ্যে এটি মোড়ানো চেষ্টা করুন। আমার জন্য% VS100COMNTOOLS% = "সি: \ প্রোগ্রাম ফাইল (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও 10.0 \ কমন 7 \ সরঞ্জাম"
কিংবদন্তি

7
এটি অনেক কিছুর জন্য কাজ করবে না, কারণ পাইথন VS2008 এর উপর নির্ভর করে। : এই উত্তর কটাক্ষপাত আছে stackoverflow.com/questions/6551724/...
shezi

182
সতর্কতামূলক !!! এটি ভুল উত্তর। আপনার কোনও অবস্থাতেই পাইথন সি এক্সটেনশনটি বিভিন্ন (সংস্করণ) সংকলক ব্যবহার করে সংকলন করা উচিত নয় যে পাইথনটিকে সে দুটি (সংস্করণ) সংকলক হিসাবে নিজেই সংকলন করতে ব্যবহৃত হয়েছিল সম্ভবত বেমানান সি রানটাইম লাইব্রেরি থাকতে পারে। আরও তথ্যের জন্য এই উত্তর দেখুন ।
পাইওটর ডব্রোগোস্ট

72
আপনি go.microsoft.com/?linkid=7729279 থেকে বিনামূল্যে ভিজ্যুয়াল সি ++ ২০০ এক্সপ্রেস সংস্করণ ডাউনলোড করতে পারেন , যা ইনস্টলেশন চলাকালীন VS90COMNTOOLS পরিবেশের পরিবর্তনশীল সেট করবে এবং অতএব একটি সামঞ্জস্যপূর্ণ সংকলক সহ বিল্ড করবে।
এরিক স্মিথ

225

আমি সমাধান খুঁজে পেয়েছি। আমার ঠিক একই সমস্যা, এবং ত্রুটি ছিল, 'আমারা' ইনস্টল করা। আমি মিংডব্লিউ 32 ইনস্টল করেছি, তবে কনফিগার করার জন্য ডিস্টুয়েলগুলি দরকার ছিল।

  1. আমার কাছে পাইথন ২.6 রয়েছে যা ইতিমধ্যে ইনস্টল করা আছে।
  2. আমি mingw32 থেকে ইনস্টল করেছি C:\programs\mingw\
  3. সংযুক্ত করুন: আপনার পরিবেশ পরিবর্তনশীল mingw32 এর bin ডিরেক্টরীতে যুক্ত করো c:\programs\MinGW\bin;করার পাথ
  4. এটিকে চিহ্নিত (বিদ্যমান না থাকলে তৈরি করুন) distutils.cfg ফাইলটি অবস্থিত C:\Python26\Lib\distutils\distutils.cfg:

    [build]
    compiler=mingw32
  5. এখন চালান easy_install.exe amara

একটি নতুন খোলার মাধ্যমে পরিবেশটি সেট করা আছে তা নিশ্চিত করুন cmd.exe


45
এটি পাইথন 2.6 এর জন্য দুর্দান্ত কাজ করে তবে কিছু কারণে আমি পাইথন 2.7 এ কাজ করতে পারি না। আমি যদি আমার প্যাকেজ উত্সটি ডাউনলোড করি এবং 'পাইথন সেটআপ.পি ইনস্টল --compile = mingw32' ব্যবহার করে ইনস্টল করি তবে এটি কার্যকর কারণ হিসাবে ইজি_সনস্টল বা পাইপ এখনও ভিসিভারসাল সন্ধান করার চেষ্টা করে।
জোনাথন হার্টলি

2
অবশেষে পাইথন (x, y) ২.7 এ ইনস্টল করার জন্য আমি বিজ্ঞানদ্বীপ পেয়েছি (ইউএসএইচ, ওয়াই) C:\msysgit\mingw\mingw32\binএবং C:\msysgit\mingw\binব্যবহারকারী পাথ যোগ করে এবং pip installআবার চালনার আগে স্পাইডার পুনরায় চালু করে
এন্ডোলিথ ২

20
কোন প্রয়োজন নেই কি কখনো একটি পরিবেশ পরিবর্তনশীল পরিবর্তনের কারণ পুনরায় বুট করার। নতুন সেন্টিমিডি.এক্স.সি প্রক্রিয়া খোলাই যথেষ্ট।
তোমালাক

11
আমি এখনও এটি ঠিক করতে পারি না। এই ত্রুটি gcc: error: unrecognized command line option '-mno-cygwin' error: Setup script exited with error: command 'gcc' failed with exit status 1পরeasy_install.exe amara
ব্যবহারকারী

5
@ ব্যবহারকারী, আপনার এই ফাইলটি খোলার উচিত: C:\Python27\Lib\distutils\cygwincompiler.pyএবং –mno-cygwinএটি থেকে সমস্ত উপস্থিতি সরিয়ে ফেলুন ; এটি হ'ল কারণ জিসিসির সাম্প্রতিক সংস্করণগুলি অপসারণ করেছে –mno-cygwinএবং এটি সেখানে থাকা উচিত নয়।
জিনব আব্বাসিমাজার

220

আপনি http://www.lfd.uci.edu/~gohlke/pythonlibs/ থেকে সংকলিত সংস্করণ ইনস্টল করতে পারেন


15
কেবলমাত্র একটি টিপ: আপনি এই উত্তরটি অনুসারেeasy_install binary_installer_built_with_distutils.exe ভার্চুয়ালেনভে চালিয়ে এই সাইটটি ভার্চুয়ালেনভে ইনস্টল করতে পারেন ।
ইয়াংঝি

14
প্রতিটি পাইথন উইন্ডোজ দেবের সম্পর্কে এটি জানা উচিত
হাইস্কুলার

1
আপনি wheel convert ....exeএই ইনস্টলারগুলিও করতে পারেন এবং তারপরে আপনি যখন পছন্দ করেন তখন পাইপ দিয়ে ইনস্টল করতে পারেন।
চিড়িয়াখানা

3
আরও সুনির্দিষ্ট হওয়ার জন্য, lfd.uci.edu/~gohlke/pythonlibs/#mysql-python এবং একবার অ্যাডমিন হিসাবে চালানো একটি টার্মিনাল ডাউনলোড করুন এবং রান করুনpython -m pip install <filename>
অ্যারুন

Godশ্বরের হোলি মা, এটি ঠিক ঠিক জায়গায় on আকর্ষণীয়, টিওয়াই :) এর মতো কাজ করে
আমির

162

আপনি যদি মিনজ্বের পরিবর্তে ভিজ্যুয়াল স্টুডিও সি ++ দিয়ে সংকলন করতে চান ...

  1. python.exeভিসি ++ এর কোন সংস্করণ এটি সংকলিত হয়েছে তা প্রদর্শনের জন্য চালান (উদাহরণস্বরূপ নীচে দেখানো হয়েছে)।

    এটা গুরুত্বপূর্ণ ভিসুয়াল সি ++ কম্পাইলার সংশ্লিষ্ট সংস্করণ যা পাইথন যেহেতু সঙ্গে সংকলিত হয়েছিল ব্যবহার করতে distilutils এর get_build_versionপ্রতিরোধ (মিশ সংস্করণ পাযত্র সাবধানবাণী প্রতি )।

    • হলুদ (শীর্ষ) পাইথন ২.7, এমএসসি ভি.1500 (ভিজ্যুয়াল স্টুডিও সি ++ ২০০৮) এর সাথে সংকলিত
    • লাল (নীচে) পাইথন ৩.৪.১, এমএসসি ভি.1600 (ভিজ্যুয়াল স্টুডিও সি ++ ২০১০) এর সাথে সংকলিত

    পাইথন ২.7 দেখায় কমান্ড লাইন থেকে উদাহরণ এমএসসি v.1500 এবং পাইথন 3.4.1 এমএসসি v.1600 সহ সংকলিত

  2. নীচের টেবিলে ব্যবহার করুন [1] সংশ্লিষ্ট ভিসুয়াল স্টুডিও রিলিজের সাথে অভ্যন্তরীণ ভিসি ++, সংস্করণকে মিল খাওয়ানোর জন্য:

    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)
    MSC v.1911 -> Visual C++ 2017 (15.3)
    MSC v.1912 -> Visual C++ 2017 (15.5)
    MSC v.1913 -> Visual C++ 2017 (15.6)
    MSC v.1914 -> Visual C++ 2017 (15.7)
    MSC v.1915 -> Visual C++ 2017 (15.8)
    MSC v.1916 -> Visual C++ 2017 (15.9)   
  3. পূর্ববর্তী পদক্ষেপটি থেকে ভিজ্যুয়াল স্টুডিও সি ++ এর সম্পর্কিত সংস্করণটি ডাউনলোড এবং ইনস্টল করুন।
    ভিসি ++ এর নির্দিষ্ট সংস্করণগুলির জন্য অতিরিক্ত নোটগুলি নীচে তালিকাভুক্ত করা হয়েছে।

    ভিজ্যুয়াল স্টুডিও সি ++ ২০০৮ এর জন্য নোটস

    জন্য শুধুমাত্র 32-বিট কম্পাইলার, ডাউনলোড ভিসুয়াল স্টুডিও সি ++ 2008 এক্সপ্রেস এডিশন

    64-বিট সংকলকগুলির জন্য [2] [3] , উইন্ডোজ 7 এবং। নেট ফ্রেমওয়ার্ক 3.5 এসপি 1 এর জন্য উইন্ডোজ এসডিকে ডাউনলোড করুন ।

    • Developer Tools >> Visual C++ Compilersআপনার অন্যথায় প্রয়োজন হয় না এসডিকে সরঞ্জামগুলি ইনস্টল করা থেকে সময় এবং ডিস্কের স্থান বাঁচানো ব্যতীত অন্য সবকিছুকে চেক করুন ।

    ভিজ্যুয়াল স্টুডিও সি ++ ২০১০ এর জন্য নোটস

    মাইক্রোসফ্টের মতে আপনি যদি ভিজ্যুয়াল স্টুডিও 2010 এসপি 1 ইনস্টল করেন তবে এটি ভিসি ++ এর জন্য সংকলক এবং গ্রন্থাগারগুলি সরিয়ে ফেলতে পারে।
    যদি এটি হয় তবে ভিজ্যুয়াল সি ++ 2010 এসপি 1 সংকলক আপডেটটি ডাউনলোড করুন ।

    ভিজ্যুয়াল স্টুডিও সি ++ 2015 এর জন্য নোটস

    আপনার যদি ভিজ্যুয়াল স্টুডিও আইডিইর প্রয়োজন না হয় তবে ভিজ্যুয়াল স্টুডিও সি ++ 2015 বিল্ড সরঞ্জামগুলি ডাউনলোড করুন ।

    ভিজ্যুয়াল স্টুডিও সি ++ 2017 এর জন্য নোটস

    আপনার যদি ভিজুয়াল স্টুডিও আইডিইর প্রয়োজন না হয় তবে ভিজ্যুয়াল স্টুডিও 2017 এর জন্য বিল্ড সরঞ্জামগুলি ডাউনলোড করুন ।

    পরামর্শ : আপনার যদি একটি 32- এবং 64-বিট পাইথন উভয়ই ইনস্টলেশন থাকে, তবে আপনি পৃথক পাইথন পরিবেশ তৈরি করতেও ভার্চুয়ালেনভ ব্যবহার করতে পারেন যাতে কোন পথে পাইথন সংস্করণটি বেছে নিতে আপনার পথের সাথে গোলযোগ না করে আপনি একবারে এক বা অন্যটি ব্যবহার করতে পারেন ব্যবহার করুন।

@ স্রড্রিগেক্স অনুসারে , এই উত্তরটি অনুসরণ করে পাইথন যেখানে অনুসন্ধান করছে সেখানে কয়েকটি ব্যাচের ফাইল অনুলিপি করে আপনি ব্যাচ ফাইলটি (4-6 পদক্ষেপ) ম্যানুয়ালি এড়াতে পারবেন । যদি এটি কাজ না করে তবে নীচের পদক্ষেপগুলি এখানে মূলত আমার জন্য কাজ করেছে।

  1. খোলার ক cmd.exe

  2. আগেসি এক্সটেনশানগুলির জন্য প্রয়োজনীয় কোনও কিছু ইনস্টল করার চেষ্টা করার সিসিটিতে ভিসি ++ কম্পাইলারের পরিবেশকে লোড করতে নিম্নলিখিত ব্যাচ ফাইলটি চালান (যেমন পরিবেশের ভেরিয়েবলগুলি, সংকলকের পথ ইত্যাদি)।

    এক্সিকিউট:

    • 32-বিট সংকলক:

      দ্রষ্টব্য : 32-বিট উইন্ডোজ ইনস্টলগুলির কেবল C:\Program Files\প্রত্যাশা অনুযায়ী থাকবে

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

    • -৪-বিট সংকলক:

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

      দ্রষ্টব্য : হ্যাঁ, নেটিভ 64৪-বিট সংকলক রয়েছে Program Files (x86)। আমাকে জিজ্ঞাসা করবেন না কেন।
      উপরন্তু, আপনি হতাশ হয় তাহলে কি পার্থক্য vcvars64.batএবং vcvarsx86_amd64.batবা আরো গুরুত্বপূর্ণ পার্থক্য amd64এবং x86_amd64সাবেক নেটিভ 64-বিট কম্পাইলার সরঞ্জাম জন্য এবং পরেরটির 64 বিট ক্রস কম্পাইলার একটি 32 বিট উইন্ডোজ ইনস্টলেশনের উপর রান করতে পারেন হয় ।

    আপডেট:
    যদি কোনও কারণে আপনি অক্ষরগুলির কয়েকটি সিরিজ error: ... was unexpected at this time.যেখানে পেয়ে থাকেন ...তবে আপনার পরীক্ষা করা উচিত যে আপনার চলকের পথের অতিরিক্ত কোটেশন বা বিপথগামী অক্ষরের মতো বহিরাগত অক্ষর নেই। ব্যাচ ফাইলটি আপনার সেশন পাথটি প্রথম স্থানে এটি উপলব্ধি করতে না পারলে আপডেট করতে সক্ষম হবে না।

  3. যদি এটি ঠিকভাবে চলে যায় তবে ভিসি ++ এর কোন সংস্করণ এবং আপনি কোন আদেশটি চালিয়েছেন তার উপর নির্ভর করে আপনার নিম্নলিখিত বার্তাগুলির একটি পাওয়া উচিত:

    32-বিট সংকলক সরঞ্জামগুলির জন্য:
    Setting environment for using Microsoft Visual Studio 20xx x86 tools.

    -৪-বিট সংকলক সরঞ্জামগুলির জন্য:
    Setting environment for using Microsoft Visual Studio 20xx x64 tools.

  4. এখন মাধ্যমে সেটআপ চালানো python setup.py installবাpip install pkg-name

  5. ভিসি ++ সহযোগিতার জন্য গ্রহগুলি সঠিকভাবে সারিবদ্ধ হয়েছে এমন আশা এবং আপনার আঙ্গুলগুলি অতিক্রম করুন।


আপনার পক্ষে সরাসরি bit৪ বিটের দিকে যাওয়ার ব্যথাটি পর্যাপ্তর করতে পারে না recommend আপনার 4gb এর বেশি ঠিকানা স্পেসের দরকার হওয়ার আগে এটি কেবল সময়ের বিষয়। আমি 32 বিট যাওয়ার পরেও বেদনাদায়ক অভিজ্ঞতা থেকে কথা বলি কারণ এটি অনেক সহজ ছিল, তারপরে নির্ভরতা সহ সমস্ত কিছু আনইনস্টল করে এবং bit৪ বিট যাওয়ার পরে। প্রায় পুরো সপ্তাহান্তে।
টমাস ব্রাউন

1
তারপরে আবার, আমি ভুলে গিয়েছি যে এরকম অনেক বড় কাজের জন্য কত লোককে পাইথন ব্যবহার করতে হবে। এবং @ থমাস ব্রাউন, আমি নিশ্চিত যে এটি একটি বেদনাদায়ক এবং একটি অভিজ্ঞতার অপ্রয়োজনীয় মন্দ। আমি এটি সন্ধান করছি এবং আশা করছি আমি কিছু খুঁজে পেতে পারি। মূল সমস্যাটি হ'ল ভিজ্যুয়াল স্টুডিও সি ++ ২০০২ এক্সপ্রেস একটি -৪-বিট সংকলক নিয়ে আসে না তবে আমি নিশ্চিত যে এটি প্রায় কোথাও রয়েছে।
জোশ বোডেন

আপনার যদি প্রয়োজন হয় তবে 64-বিট সংকলকগুলি কীভাবে পাবেন সে সম্পর্কে আরও তথ্যের সাথে এটি আপডেট করেছেন।
জোশ বোডেন

আমার ক্ষেত্রে, আমি উপরের 1 ধাপটি অনুসরণ করি এবং এই উত্তরটি অনুসরণ করে বাকিগুলি এড়িয়ে চলেছি । .Bat চালানোর বিরক্তি এড়িয়ে এখন আমি প্যাকেজ ইনস্টল করতে সক্ষম হয়েছি।
srodriguex

@Srodriguex এই ক্ষেত্রে ভাল, দেখে মনে হচ্ছে পাইথন ধরে নিচ্ছে যে is৪-বিট সংকলক সরঞ্জামগুলি সন্ধান করছে ...\VC\bin\vcvarsamd64.batএবং এটি ব্যবহার করে PATH এ লোড হবে ...\VC\bin\amd64\vcvarsamd64.bat
জোশ বোডেন

72

কি হচ্ছে? পাইথন মডিউলগুলি সি বা সি ++ (সাধারণত গতির জন্য) লিখিত হতে পারে । আপনি যদি পাইপের সাথে এই জাতীয় প্যাকেজ ইনস্টল করার চেষ্টা করেন (বাsetup.py ) এর তবে এটি উত্স থেকে সেই সি / সি ++ সংকলন করতে হবে। বাক্সটির বাইরে, পাইপটি নির্লজ্জভাবে আপনাকে মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ ইনস্টল করা সংকলকটি ধরে নিবে। আপনার যদি এটি না থাকে তবে আপনি এই ক্রিপ্টিক ত্রুটি বার্তাটি দেখতে পাবেন "ত্রুটি: vcvarsall.bat খুঁজে পেতে অক্ষম"।

নির্ধারিত সমাধানটি হ'ল মাইক্রোসফ্ট ভিজ্যুয়াল সি ++, বা মিনজিডাব্লু (একটি উন্মুক্ত উত্স প্রকল্প) একটি সি / সি ++ সংকলক ইনস্টল করা । তবে, ইনস্টল এবং কনফিগার করা নিষেধাত্মকভাবে কঠিন। (2014 সম্পাদনা করুন: মাইক্রোসফ্ট পাইথন 2.7 এর জন্য একটি বিশেষ সি ++ সংকলক প্রকাশ করেছে)

সবচেয়ে সহজ সমাধান হ'ল জনপ্রিয় পাইথন প্যাকেজগুলির জন্য ক্রিস্টোফ গহলকের উইন্ডোজ ইনস্টলার (.msi) ব্যবহার করা। তিনি পাইথন 2.x এবং 3.x, 32 বিট এবং 64 বিটের জন্য ইনস্টলার তৈরি করেন। আপনি এগুলি http://www.lfd.uci.edu/~gohlke/pythonlibs/ থেকে ডাউনলোড করতে পারেন


যদি আপনিও মনে করেন "ত্রুটি: vcvarsall.bat সন্ধান করতে অক্ষম" একটি হাস্যকর ক্রিপ্টিক এবং অপ্রয়োজনীয় বার্তা, তবে এটি আরও সহায়ক এবং ব্যবহারকারীর সাথে প্রতিস্থাপন করতে দয়া করে http://bugs.python.org/issue2943 এ বাগটি সম্পর্কে মন্তব্য করুন বন্ধুত্বপূর্ণ বার্তা।

তুলনা করার জন্য, রুবি একটি প্যাকেজ ম্যানেজার জহরের সাথে জাহাজে পাঠায় এবং একটি অর্ধ-আধিকারিক সি / সি ++ সংকলক, দেবকিট সরবরাহ করে। আপনি যদি এটি ছাড়াই কোনও প্যাকেজ ইনস্টল করার চেষ্টা করেন তবে আপনি এই সহায়ক বন্ধুত্বপূর্ণ দরকারী বার্তাটি দেখতে পান:

বিল্ড সরঞ্জামগুলি অন্তর্ভুক্ত করতে বা http://rubyinstaller.org/downloads থেকে দেবকিট ডাউনলোড করুন এবং http://github.com/oneclick/rubyinstaller/wiki/De વિકાસment- কিট এ নির্দেশাবলী অনুসরণ করুন দয়া করে আপনার PATH আপডেট করুন

আপনি পাইথন প্যাকেজিং সম্পর্কে লম্বা ছড়া পড়তে পারেন https://stackoverflow.com/a/13445719/284795 এ


আমার ভার্চুয়াল পরিবেশে এই প্রাক-সংকলিত এক্সিকিউটেবল ইনস্টল করতে আমি কীভাবে পাইপ ব্যবহার করতে পারি?
শৈলেন

@ ShailenTJ ভাল প্রশ্ন। আমি এটি কখনও করি নি তবে স্ট্যাকওভারফ্লো.com
কর্নেল আতঙ্ক

এটি ছিল সবচেয়ে ভাল / সহজ সমাধান যা আমি সচেতন। ধন্যবাদ।
ব্যবহারকারী 1477388

যে সম্পাদনা 2014 আমার জন্য সবচেয়ে ভাল উত্তর। সহজ নির্দেশনা মিস করুন: setuptoolsআপনি সংস্করণে আপডেট 6.0করেছেন বা এর সাথে আরও উচ্চতর তা নিশ্চিত করুন pip install setuptools --upgrade
orlade

64

পাইথন তৈরিতে ব্যবহৃত সংকলকটির সাথে সামঞ্জস্য রেখে আপনাকে একটি মাইক্রোসফ্ট সংকলক ইনস্টল করতে হবে। এর অর্থ হল আপনার ভিজ্যুয়াল সি ++ ২০০ or (বা আরও কিছু নতুন টুইট ) সহ প্রয়োজন need

মাইক্রোসফট এখন একটি বান্ডেল কম্পাইলার সরবরাহ এবং হেডার মাত্র , পাইথন এক্সটেনশন কম্পাইল করার স্মরণীয় URL- এ পাবে:

মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ পাইথন ২.7 এর জন্য সংকলক

http://aka.ms/vcpython27

এটি তুলনামূলকভাবে ছোট প্যাকেজ; 85 এমবি ডাউনলোড করতে, অ্যাডমিন সুবিধা ছাড়াই ইনস্টলযোগ্য, কোনও রিবুট প্রয়োজন নেই। নামটি কিছুটা বিভ্রান্তিমূলক, সংকলকটি পাইথন ২.7 নয়, মূলত ভিজ্যুয়াল সি ++ ২০০৮ এর সাথে সংকলিত যে কোনও পাইথন সংস্করণের জন্য কাজ করবে।

আপনি যদি পাইথন ইন্টারেক্টিভ প্রম্পট বা মুদ্রণ শুরু করেন sys.versionতবে MSCসংস্করণ স্ট্রিংয়ের সন্ধান করুন; যদি হয়MSC v.1500 আপনি এই সরঞ্জামটি ব্যবহার করতে পারেন।

থেকে distutils লিস্টে মূল ঘোষণাটি :

মাইক্রোসফ্ট উইন্ডোজটিতে তাদের সি এক্সটেনশন মডিউলগুলি তৈরি এবং বিতরণ করা আরও সহজ করার জন্য পাইথন ২.7 এর একটি সংকলক প্যাকেজ প্রকাশ করেছে। মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ পাইথন ২.7 এর জন্য সংকলক (ওরফে ভিসি 9) পাওয়া যায়: http://aka.ms/vcpython27

এই প্যাকেজটিতে পাইথন ২.7 ৩ 32-বিট এবং -৪-বিটের জন্য সি এক্সটেনশন মডিউলগুলি তৈরি করার জন্য প্রয়োজনীয় সমস্ত সরঞ্জাম এবং শিরোলেখ রয়েছে (লক্ষ্য করুন যে কিছু এক্সটেনশন মডিউলগুলিতে ওপেনএসএসএল বা লিবেক্সএমএল 2 অন্তর্ভুক্ত নয় এমন তৃতীয় পক্ষের নির্ভরতা প্রয়োজন)। ভিজ্যুয়াল সি ++ ২০০৮ দিয়ে নির্মিত পাইথনের অন্যান্য সংস্করণগুলিও সমর্থিত, সুতরাং "পাইথন ২.7" কেবল বিজ্ঞাপন - এটি 2.6 এবং 3.2 দিয়ে দুর্দান্ত কাজ করবে।

নোট করুন যে আপনার setuptools6.0 বা আরও নতুন ইনস্টল করা প্রয়োজন (ডাউনলোড পৃষ্ঠায় সিস্টেমের প্রয়োজনীয়তার তালিকাভুক্ত)। আপনি যে প্রকল্পটি ইনস্টল করছেন তা অবশ্যই ব্যবহার করা উচিত setuptools.setup(), না distutilsবা স্বতঃ-সনাক্তকরণ কাজ করবে না।

মাইক্রোসফ্ট জানিয়েছে যে তারা ইউআরএল স্থিতিশীল রাখতে চায়, যাতে স্বয়ংক্রিয় স্ক্রিপ্টগুলি সহজেই এটি উল্লেখ করতে পারে।


2
আমার অন্যান্য মতামত অনুসারে, আপনি নিশ্চিত করতে পারেন যে setuptoolsএটি আপ টু ডেট pip install setuptools --upgrade
orlade

আমি প্রাসঙ্গিক যুক্তিটি কেন setuptoolsতার চেয়ে বেশি তা বিবেচনা করে দেখলাম distutils- সর্বোপরি বিল্ডিং মডিউলগুলি মূল কার্যকারিতা এবং এতে প্রাসঙ্গিক কোড রয়েছে তবে এটির একটি পুরানো সংস্করণ। দেখে মনে হচ্ছে distutilsরক্ষণাবেক্ষণকারীরা কেবলমাত্র সম্ভাব্য সমস্ত এমএসএসডিকে বিভিন্ন প্রকারের সমর্থন দেওয়া ছেড়ে দিয়েছিলেন এবং setuptoolsআরও আগ্রহী তাদের সহকর্মীদের উপর এই কাজটি ফেলে দিয়েছেন ।
ivan_pozdeev

1
@ আইভান_পোজডিদেভ: পাইথন রিলিজ চক্রের অন্তর্ভুক্ত এর setuptoolsচেয়ে অনেক বেশি সময় distutilsমুক্তি দিতে পারে। আর distitutilsপ্রকৃতপক্ষে এটি প্রতিস্থাপন কাল নতুন সিস্টেমে কাজ সঙ্গে, মন্দের একটা রক্ষণাবেক্ষণ মোডে চলে গেছে। পরিবর্তে যে কাজ স্থগিত।
মার্টিজন পিটারস

সাইথন ডিস্টুটিলস ব্যবহার করে, আপনাকে সেটআপটুলগুলি আমদানি করতে হবে যা বানর-প্যাচগুলি ডিস্টিলগুলি: github.com/cython/cython/wiki/Cython
এক্সটেনশনস অন

54

আমার ঠিক একই সমস্যা ছিল, তাই আমি এখানে আমার গল্পটি এই আশায় বলব যে এটি একই সমস্যা নিয়ে অন্য কাউকে সহায়তা করে এবং আমি কয়েক ঘন্টা কাটিয়েছি:

আমার উইন্ডোজ box বাক্সে মিংগ (জি ++ (জিসিসি) ৪. ).১) এবং পাইথন ২.7.৩ রয়েছে এবং আমি পাইক্রিপ্টো ইনস্টল করার চেষ্টা করছি।

সেটআপ.পিই ইনস্টল চালানোর সময় এই ত্রুটিটি দিয়ে শুরু হয়েছিল:

error: Unable to find vcvarsall.bat

মিংকে পছন্দসই সংকলক হিসাবে উল্লেখ করে ত্রুটিটি গুগল করার পরে সহজে সমাধান করা:

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

এটি এর সমাধান করেছে: "হয় মিনজিডাব্লু এর সামান্য পুরানো সংস্করণ ইনস্টল করুন, অথবা -ম্নো-সাইগউইনের সমস্ত দৃষ্টিকোণ সরাতে আপনার পাইথন ডিরেক্টরিতে ডিস্টিল্টস \ সাইগউইনকম্পিলার.পি.পি সম্পাদনা করুন।" (থেকে এখানে )

এখন, আমি শেষ পর্যন্ত কাজ শুরু করতে পারি।


7
আপনার পাইথন লাইব্রেরির একটি MinGW- সামঞ্জস্যপূর্ণ সংস্করণ প্রয়োজন হবে। আরও তথ্যের জন্য eli.thegreenplace.net/2008/06/28/… দেখুন
গিলি

টুইস্ট এবং
টার্নস

23

দেখে মনে হচ্ছে এটি ভিসি সংকলকগুলির সন্ধান করছে, তাই আপনি -c mingw32মিসেস থাকায় আপনি এর সাথে সংকলক প্রকারটি উল্লেখ করার চেষ্টা করতে পারেন

python setup.py install -c mingw32

16
কেবল নিশ্চিত করতে, যে কমান্ডটি কাজ করে তা হল: এর python setup.py build --compiler=mingw32পরেpython setup.py install
এমিল স্টেনস্ট্রোম

পাইথন সেটআপ.পিটি চালানোর পরে --compiler = mingw32 আমি ImportError রিসিভ করেছি: সাইথন নামে কোনও মডিউল নেই ist অ্যানাকোন্ডার অধীনে সিথন ইনস্টল করার সময় ডিজিটালগুলি। কোন পরামর্শ?
সেরেন্ডিপিটি

20

আমার কাছে পাইথন ২. and৩ এবং উইন্ডোজ have রয়েছে। আমার জন্য যে সমাধানটি কাজ করেছিল তা হ'ল:

  1. পরিবেশ পরিবর্তনশীলে মিংডব্লিউ 32 এর বিন ডিরেক্টরি যুক্ত করা হয়েছে: সাথে PATH যুক্ত করুনC:\programs\mingw\bin;
  2. ডিটুইটেলস.এফ.জি. তৈরি করে এটিতে অবস্থিত C:\Python27\Lib\distutils\distutils.cfg:

    [build]
    compiler=mingw32

মিনজিডাব্লু- আর -ম্নো-সাইগউইন পতাকাটি আর স্বীকৃতি না দেওয়ার সাথে মোকাবিলা করার জন্য, সিটিতে পতাকাটি সরান: \ পাইথন 27 \ লিবি \ ডিস্টুলেটস \ সাইগউইনকম্পাইল.পিপি লাইন 322 থেকে 326, সুতরাং এটি দেখতে এরকম দেখাচ্ছে:

  self.set_executables(compiler='gcc -O -Wall',
                         compiler_so='gcc -mdll -O -Wall',
                         compiler_cxx='g++ -O -Wall',
                         linker_exe='gcc',
                         linker_so='%s %s %s'
                                    % (self.linker_dll, shared_option,
                                       entry_point))

15

অল্পক্ষণের setup.pyপ্যাকেজ ইনস্টল করার চেষ্টা করছেন ফাইল। এটি যদি পুরানো প্যাকেজ হয় তবে এটি distutils.core.setup()পরিবর্তে আমদানি করা হতে পারে setuptools.setup()

আমি এই (2015 সালে) এই কারণগুলির সংমিশ্রণে দৌড়েছি:

  1. মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ পাইথন ২.7 এর জন্য http://aka.ms/vcpython27 থেকে সংকলক

  2. একটি পুরানো প্যাকেজ যা ব্যবহার করে distutils.core.setup()

  3. python setup.py buildব্যবহার না করে করার চেষ্টা করছেন pip

আপনি যদি পিপের সাম্প্রতিক সংস্করণ ব্যবহার করেন তবে এটি প্যাকেজটিকে সেটআপলুলগুলি ব্যবহার করতে বাধ্য করবে (মনকিপ্যাচ), এমনকি যদি এটির setup.pyজন্য ডিস্টুটিলের জন্য কল করে। তবে, আপনি যদি পিপ ব্যবহার না করে থাকেন এবং পরিবর্তে কেবল করছেন python setup.py build, তবে বিল্ড প্রক্রিয়াটি ব্যবহার করবে distutils.core.setup(), যা সংকলক ইনস্টলের অবস্থান সম্পর্কে জানে না।


সমাধান

পদক্ষেপ 1: উপযুক্ত ভিজ্যুয়াল সি ++ 2008 কমান্ড প্রম্পটটি খুলুন

স্টার্ট মেনু বা স্টার্ট স্ক্রিনটি খুলুন এবং "ভিজ্যুয়াল সি ++ ২০০২ 32-বিট কমান্ড প্রম্পট" (যদি আপনার পাইথনটি 32-বিট হয়) বা "ভিজ্যুয়াল সি ++ 2008 64-বিট কমান্ড প্রম্পট" (যদি আপনার পাইথনটি 64-বিট হয়) সন্ধান করুন) । চালাও এটা. কমান্ড প্রম্পটে শিরোনাম বারে ভিজ্যুয়াল সি ++ 2008 বলা উচিত।

পদক্ষেপ 2: পরিবেশ পরিবর্তনশীল সেট করুন

আপনি সবেমাত্র খোলার কমান্ড প্রম্পটে এই পরিবেশের পরিবর্তনশীলগুলি সেট করুন।

SET DISTUTILS_USE_SDK=1
SET MSSdk=1

Http://bugs.python.org/issue23246 উল্লেখ করুন

পদক্ষেপ 3: বিল্ড এবং ইনস্টল করুন

cdআপনি যে প্যাকেজটি তৈরি করতে চান তা চালিয়ে যান এবং python setup.py buildতারপরে চালান python setup.py install। আপনি যদি কোনও ভার্চুয়ালেনভ-এ ইনস্টল করতে চান তবে আপনি তৈরি করার আগে এটি সক্রিয় করুন।


আপনার কাছে <কোড> পিপ </ কোড> <কোড> পাইথন setup.py বিল্ড </ code> এ পরিবর্তে ব্যবহার করে আপনার প্যাকেজ নির্মাণ করতে পারেন
aronadaal

9

হয়তো কেউ আগ্রহী হতে পারে, নিম্নলিখিতটি পাইপেক্স এক্স প্যাকেজের জন্য আমার জন্য কাজ করেছিল। (উইন্ডোজ 7 64৪ বিট এবং পোর্টেবল পাইথন ২., রয়েছে, উইন্ডোজ and এবং। নেট ফ্রেমওয়ার্ক ৪ এর জন্য উইন্ডোজ এসডিকে সঙ্গে ভিজ্যুয়াল স্টুডিও 2005 এক্সপ্রেস)

set VS90COMNTOOLS=%VS80COMNTOOLS%

তারপর:

python.exe setup.py install

না, আপনি ঠিক বলেছেন, কী হয়েছিল তা আমি নিশ্চিত নই, আমি আসল মন্তব্যটি মুছব।
ডেভ চ্যালিস

1
খুব দরকারী!! আমার ক্ষেত্রে, আমি 'VS90COMNTOOLS =% VS110COMNTOOLS%' সেট করেছি।
jrvidotti

@ এক্সিল: হ্যাঁ, আপনি একই কমান্ড প্রম্পট সেশনে এই কমান্ডগুলি টাইপ করেন
স্টেফানো ফেনু

এটা করো না!!! আরও তথ্যের জন্য এই উত্তর দেখুন ।
বেনামে

8

আমার অজগর 3.4 64 বিট সংস্করণে কীভাবে এই সমস্যাটি সমাধান করা যায় তা নির্ধারণ করার জন্য আমি প্রায় 2 দিন অতিবাহিত করেছি: পাইথন ৩.৪.৩ (v3.4.3: 9b73f1c3e601, ফেব্রুয়ারী 24 2015, 22:44:40) [এমএসসি ভি.1600 64 বিট (এএমডি 64) )] উইন 32 এ

সমাধান 1, শক্ত: (এটি পড়ার আগে, নীচে প্রথম সমাধান 2 পড়ুন) অবশেষে, এটিই আমাকে সহায়তা করেছে:

  1. ভিজ্যুয়াল সি ++ 2010 এক্সপ্রেস ইনস্টল করুন
  2. উইন্ডোজ 7 এর জন্য মাইক্রোসফ্ট উইন্ডোজ এসডিকে ভি 7.1 ইনস্টল করুন
  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. (এটি alচ্ছিক বলে মনে হচ্ছে) মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও 2010 সার্ভিস প্যাক 1 ইনস্টল করে মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ 2010 সার্ভিস প্যাক 1 উইন্ডোজ এসডিকে 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://stackoverflow.com/a/23099820/4383472

  6. অবশেষে pip install numpyকমান্ডের পরে আমার অ্যাভাস্ট অ্যান্টিভাইরাস ইনস্টলেশন প্রক্রিয়াটিতে হস্তক্ষেপ করার চেষ্টা করেছিল, তবে আমি দ্রুত এটিকে অক্ষম করে দিয়েছি

এটি বেশ দীর্ঘ সময় নিয়েছিল - নকলকে সংকলন করতে কয়েক মিনিট সময় নিয়েছিল, আমি এমনকি ভেবেছিলাম যে কোনও ত্রুটি হয়েছে তবে শেষ পর্যন্ত সবকিছু ঠিক আছে।

সমাধান 2, সহজ: (আমি জানি যে এই পদ্ধতির ইতিমধ্যে একটি উচ্চ ভোট প্রাপ্ত উত্তরে উল্লেখ করা হয়েছে , তবে আমাকে এটি পুনরাবৃত্তি করা যাক এটি সত্যিই সহজ) এই সমস্ত কাজ করার পরে আমি বুঝতে পেরেছি যে আমার পক্ষে সবচেয়ে ভাল উপায় ইতিমধ্যে ব্যবহার করা ভবিষ্যতে http://www.lfd.uci.edu/~gohlke/pythonlibs/ থেকে প্রাকম্পম্পযুক্ত বাইনারিগুলি । আমার খুব সামান্য সুযোগ আছে যে আমার কখনও কখনও কোনও প্যাকেজ (বা কোনও প্যাকেজের কোনও সংস্করণ) প্রয়োজন হবে যা এই সাইটটিতে নেই। ইনস্টলেশন প্রক্রিয়াটি এই পদ্ধতিতে আরও দ্রুত। উদাহরণস্বরূপ, ইনস্টল করতে numpy:

  1. ডোনালোড numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl(যদি আপনার পাইথন 3.4 64-বিট থাকে) সেই সাইট থেকে from
  2. কমান্ড প্রম্পটে বা পাওয়ারশীপ এটি পাইপ দিয়ে ইনস্টল করে pip install numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl(বা কমান্ড প্রম্পটটি কীভাবে খোলা হবে তার উপর নির্ভর করে ফাইলটির পুরো পথ)

numpy ‑ 1.9.2 + mkl ‑ cp34 ‑ none ‑ win_amd64.whl - উপরের লিঙ্কটিতে এই ফাইলটি খুঁজে পাচ্ছে না।
অমরেশ গিরি

7

আমি পাইথন ২.7 এর অধীনে উইন্ডোজ 10 এ পাইস্ফ চালাতে চেয়েছিলাম এবং ভিসিভারসাল পেয়েছি bat

আমার সমাধানটি নিম্নলিখিত ছিল:

পাইথন ২.7 এর জন্য মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ ইনস্টল করুন (যেমন @ মিশেল প্রস্তাবিত)

উইন্ডোজ 10 এ এটি ইনস্টল করা হয়েছিল (আমার ব্যবহারকারী নামটি আন্দ্রেস):

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

পাইথন ২.7 এর জন্য ভিজ্যুয়াল সি ++ এর ইনস্টলেশন পথে পরিবেশ পরিবর্তনশীল VS90COMNTOOLS সেট করুন (উপরের পাথটি দেখুন)।

যদি এটি এখনও কাজ না করে তবে মডিউলটিতে পরিবর্তন করুন if

C:/Python27/lib/distutils

msvc9compiler.py ফাইলটি । এটিতে ফাংশনটি সন্ধান করুন find_vcvarsall এবং নিম্নলিখিত পরিবর্তন করুন।

লাইনটি প্রতিস্থাপন করুন:

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

সঙ্গে

productdir = os.path.join(toolsdir)

এটিই আমার ক্ষেত্রে vcvarsall.bat থাকে (


আকর্ষণীয় যথেষ্ট %userprofile%\Appdata\Local\Programs\Commonআমার জন্য খালি।
ব্রাইস গিন্টা

পাইথন ২.7 এর জন্য মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ ইনস্টল করার পরেও?
চিফেন্নে

7

আমি যখন আমার অজগর 3.5 তে ন্যাপি লাইব্রেরি ইনস্টল করার চেষ্টা করেছি তখন আমি এই সমস্যার মুখোমুখি হয়েছি। সমাধানটি ভিএস ২০১৫ ইনস্টল করা। আমার ভিএস ২০০৮, ২০১২, ২০১৩ ছিল, যার কোনটি পাইথনের ৩.৫ এর সাথে সামঞ্জস্যপূর্ণ নয়। স্পষ্টতই পাইথনের নতুন সংস্করণটির ভিএস এর নতুন সংস্করণগুলির উপর নির্ভরতা রয়েছে has

এছাড়াও নিশ্চিত করুন যে সি ++ সাধারণ সরঞ্জামগুলি ভিজ্যুয়াল স্টুডিওতে ইনস্টল করা আছে।

এখানে চিত্র বর্ণনা লিখুন


6

আমি উপরের সমস্ত উত্তরগুলি চেষ্টা করে দেখেছি এবং তাদের সকলের কাজ না করার জন্য এটি পাওয়া গেছে, সম্ভবত এটি আমি উইন্ডোজ 8 ব্যবহার করছিলাম এবং ভিজ্যুয়াল স্টুডিও 2012 ইনস্টল করেছি this এক্ষেত্রে আপনি যা করছেন এটি এটি।

vcvarsall.batফাইল এখানে অবস্থিত: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC

কেবল ফাইলটি নির্বাচন করুন এবং এটি অনুলিপি করুন।

তারপরে এই ডিরেক্টরিতে যান: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools

এবং ফাইলটি পেস্ট করুন। এবং তারপরে, সব ঠিকঠাক হওয়া উচিত।


সব ঠিকঠাক নয় আমি আপনার উত্তর অনুসরণ করেছি তবে তবুও আমি একই ত্রুটি পেয়েছি।
বোকা_ইন্টার্ন

6

আপনি http://go.microsoft.com/?linkid=7729279 থেকে ফ্রি ভিজুয়াল সি ++ ২০০ এক্সপ্রেস সংস্করণটি ডাউনলোড করতে পারেন , যা ইনস্টলেশনের সময় VS90COMNTOOLS পরিবেশের পরিবর্তনশীল সেট করবে এবং অতএব একটি সামঞ্জস্যপূর্ণ সংকলক সহ বিল্ড করবে।

@ পাইওটারডব্রোগোস্ট যেমন একটি মন্তব্যে উল্লেখ করেছেন, এই অন্যান্য প্রশ্নের উত্তর তাঁর ভিজ্যুয়াল সি ++ ২০০৮ কেন সঠিকভাবে তৈরি করা উচিত তা বিশদে চলে গেছে, তবে পাইথনের উইন্ডোজ বিল্ডটি ভিজ্যুয়াল স্টুডিওর নতুন সংস্করণে চলে যাওয়ার কারণে এটি পরিবর্তন হতে পারে: বিল্ডিং lxML উইন্ডোজে পাইথন ২.7 এর জন্য


এছাড়াও এটি নিশ্চিত করুন যে অন্য কোনও সংস্করণ ইনস্টল করা নেই। আমি এই সঙ্গে একটি কঠিন সময় ছিল। আমি কম্পিউটারটি পুনরায় ফর্ম্যাট করেছি এবং এই সংস্করণটি ইনস্টল করেছি। যেহেতু ভিএস এর একাধিক সংস্করণ অপসারণ করা আমাকে ঠিক ততক্ষণ সময় নিয়েছে।
জমুনসচ

6

উইন্ডোজ x x64 এ পাইথন ৩.৪.১ ব্যবহার করার ক্ষেত্রে আমার এই সমস্যা হয়েছিল এবং দুর্ভাগ্যক্রমে আমার যে প্যাকেজগুলির প্রয়োজন আমার কাছে উপযুক্ত ইসি বা চাকা ছিল না যা আমি ব্যবহার করতে পারি। এই সিস্টেমে কয়েকটি ' ওয়ার্কআরউন্ডস ' প্রয়োজন, যা নীচে বিস্তারিত (এবং নীচে TLDR ) রয়েছে are

উপরের জ্যাক্সটেকের উত্তরের তথ্যটি ব্যবহার করে , আমি নির্ধারণ করেছি যে আমার ভিজ্যুয়াল স্টুডিও সি ++ ২০১০ (sys.version রিটার্ন এমএসসি v.1600) দরকার, তাই আমি তার উত্তরের লিঙ্কটি থেকে ভিজ্যুয়াল সি ++ ২০১০ এক্সপ্রেস ইনস্টল করেছিলাম, এটি হ'ল http://go.microsoft .com /? লিঙ্কিড = 9709949 । আমি আপডেটগুলি দিয়ে সবকিছু ইনস্টল করেছি, তবে আপনি নীচে পড়তে পারেন, এটি একটি ভুল ছিল। এক্সপ্রেসের শুধুমাত্র আসল সংস্করণটি এই সময়ে ইনস্টল করা উচিত (কোনও আপডেট নেই)।

vcvarsall.bat, এখন উপস্থিত ছিলেন, কিন্তু প্যাকেজ ইনস্টল করার একটি নতুন ত্রুটি হয়েছে query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path']। এই ত্রুটি সহ অন্যান্য স্ট্যাকওভারফ্লো প্রশ্ন রয়েছে যেমন পাইথন ২.7 এর জন্য সি মডিউল তৈরি / ইনস্টল করার সময় ত্রুটি

আমি এই উত্তর থেকে স্থির করেছি যে 2010 এক্সপ্রেস কেবল 32-বিট সংকলক ইনস্টল করে। -৪-বিট (এবং অন্যান্য) সংকলকগুলি পেতে আপনার উইন্ডোজ .1.১ এসডিকে ইনস্টল করতে হবে। Http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx দেখুন

এটি যদিও আমার জন্য ইনস্টল করবে না এবং ইনস্টলার ত্রুটিটি ফিরিয়ে দিয়েছে installation failed with return code 5100। আমি নিম্নলিখিত লিঙ্কটিতে সমাধানটি পেয়েছি: http://support.microsoft.com/kb/2717426 । সংক্ষেপে, যদি x86 এবং x64 এর নতুন সংস্করণগুলি মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ 2010 পুনরায় বিতরণযোগ্য ইনস্টল করা থাকে তবে তারা এসডিকে ইনস্টলারের সাথে বিবাদ করে এবং প্রথমে আনইনস্টল করা দরকার।

এসডিকে তখন ইনস্টল করা হয়েছে তবে আমি লক্ষ্য করেছি vcvars64.bat এখনও উপস্থিত নেই C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin, না এর সাবফোল্ডারগুলিও রয়েছে। vcvarsall.bat vcvars64 ব্যাচ ফাইল চালায়, সুতরাং এটি ছাড়া পাইথন প্যাকেজটি এখনও ইনস্টল করতে পারে না (আমি এই সময়ে প্রদর্শিত ত্রুটিটি ভুলে গিয়েছি)।

তারপরে আমি এখানে কিছু নির্দেশাবলীর সন্ধান পেয়েছি: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Download_VS_2010_and_Windows_SDK_7.1 নির্দেশাবলী অনুসরণ করে, আমি ইতোমধ্যে এক্সপ্রেস এবং 7.1 এসডিকে ইনস্টল করেছিলাম, তাই এসডিকে 7.1 এসপি 1 ইনস্টল করেছিলাম এবং অনুপস্থিত শিরোনাম ফাইল ফিক্স। আমি তখন ম্যানুয়ালি কনটেন্টটি দিয়ে vcvars64.bat তৈরি করেছি CALL setenv /x64। আমি এই সমস্ত নির্দেশ এখানে পেস্ট করব, যাতে সেগুলি হারিয়ে যায় না।

পদক্ষেপ 1 ভিজ্যুয়াল স্টুডিও এক্সপ্রেস 2010 ডাউনলোড করা হয়।

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express শুরু করার জন্য একটি ভাল জায়গা। ইনস্টলারটি ডাউনলোড করুন এবং এটি চালান (vc_web.exe)। আপনার এসকিউএল 2008 অতিরিক্ত ডাউনলোডের দরকার নেই।

-৪-বিট সংকলকগুলির জন্য আপনার উইন্ডোজ এসডিকে (বর্তমানে .1.১) প্রয়োজন হবে - যদি না আপনি কেবল 32-বিট তৈরি করতে চান যা পুরোপুরি সমর্থিত নয় ...

এটি ডাউনলোড করার জন্য http://www.microsoft.com/en-us/download/details.aspx?id=8279 একটি ভাল সূচনা পয়েন্ট - ডাউনলোড করার সময় আপনি winsdk_web.exe চালাতে চাইবেন!

এখানে ডিফল্ট ইনস্টল ঠিক আছে।

শেষ অবধি, উইন্ডোজ এসডিকে 7.1 এসপি 1 আপডেটটি ডাউনলোড করুন এবং ইনস্টল করুন: http://www.microsoft.com/en-us/download/details.aspx?id=4422

এবং, অনুপস্থিত শিরোনাম ফাইলটি স্থির করতে, ভিএস 2010 এসপি 1। http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5

এবং, রক্তাক্ত নরক, ভিএস 2010 এক্সপ্রেসের জন্য অনুপস্থিত ব্যাচের ফাইলটি ঠিক করুন। এটি নিখরচায় অযৌক্তিক হয়ে উঠছে।

সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও 10.0 \ ভিসি \ বিন \ এমডি 64, নিম্নলিখিতটি দিয়ে "vcvars64.bat" তৈরি করুন (আপনার প্রশাসক হিসাবে চালানো প্রয়োজন হবে):

কল সেলেনভ / এক্স 64

আমার পাইথন প্যাকেজটি এখনও ইনস্টল হয়নি (ত্রুটির কথা স্মরণ করতে পারে না)। তারপরে আমি বিশেষ এসডিকে 7.1 কমান্ড প্রম্পটটি ব্যবহার করার জন্য কিছু নির্দেশাবলী পেয়েছি (নীচে অনুলিপি করা হয়েছে), দেখুন: https://mail.python.org/pipermail/distutils-sig/2012- ফেব্রুয়ারি/018300.html

এই প্রশ্ন কিছু মনে করবেন না। মেনুতে এখানে কেউ এই আইটেমটি লক্ষ্য করেছেন: শুরু-> সমস্ত প্রোগ্রাম-> মাইক্রোসফ্ট উইন্ডোজ এসডিকে v7.1 -> উইন্ডোজ এসডিকে 7.1 কমান্ড প্রম্পট

এটি একটি ব্যাচের কাজ চালায় যা সংকলকটির জন্য একটি কাজের পরিবেশ সেট আপ করে। সেই প্রম্পট থেকে, আপনি "সেটআপ.পি বিল্ড" বা "সেটআপ.পি ইনস্টল" টাইপ করতে পারেন।

আমি নির্দেশ হিসাবে উইন্ডোজ এসডিকে 7.1 কমান্ড প্রম্পটটি খুললাম এবং পাইথন প্যাকেজে ইজি_সিন্টল চালানোর জন্য এটি ব্যবহার করেছি। এবং শেষ অবধি, সাফল্য!


টিএলডিআর ;

  1. ভিজ্যুয়াল স্টুডিও এক্সপ্রেস 2010 ইনস্টল করুন (অগ্রাধিকার অনুসারে আপডেট হওয়া পুনরায় বিতরণযোগ্য বা এসকিউএল সার্ভার ছাড়াই)।
  2. উইন্ডোজ 7.1 এসডিকে ইনস্টল করুন
  3. এসডিকে 7.1 এসপি 1 আপডেট এবং ভিএস2010 এসপি 1 শিরোনাম ফাইল ফিক্স ইনস্টল করুন (এই পদক্ষেপের প্রয়োজন হতে পারে না)।
  4. ম্যানুয়ালি C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.batসামগ্রী সহ তৈরি করুনCALL setenv /x64
  5. স্টার্ট-> সমস্ত প্রোগ্রাম-> মাইক্রোসফ্ট উইন্ডোজ এসডিকে v7.1 -> উইন্ডোজ এসডিকে 7.1 কমান্ড প্রম্পট বিশেষ এক্স 64 কমান্ড প্রম্পট খোলার জন্য, যা পাইথন / ইজি_সিনস্টল / পিপ / ইত্যাদি (ভার্চুয়াল_ইনভ্যাস সহ) ব্যবহার করতে পারে।

4

নীচে পদক্ষেপগুলি আমার জন্য এই সমস্যাটিকে ঠিক করেছে, আমি সিথন এক্সটেনশন দিয়ে সেটআপ তৈরি করার চেষ্টা করছিলাম।

  1. পাইথন ২.7 এর জন্য মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ কম্পাইলার ইনস্টল করুন
  2. ডিফল্ট ইনস্টল করার অবস্থানটি হবে @ সি: \ ব্যবহারকারীরা \ পিসি-ব্যবহারকারী \ অ্যাপডাটা \ স্থানীয় \ প্রোগ্রামগুলি \ প্রচলিত \ মাইক্রোসফ্ট \ ভিজ্যুয়াল সি ++ পাইথনের জন্য এটি প্রকৃতপক্ষে সমস্যাটি সমাধান করতে পারে, এগিয়ে যাওয়ার আগে একবার পরীক্ষা করে।
  3. যদি এটি ব্যর্থ হয় তবে পাইথন vcvarsall.bat ফাইলটি ভিসি ++ এ কোথায় রয়েছে তা পরীক্ষা করুন
  4. নোটপ্যাডে distutils প্যাকেজের MSvc9compiler.py ফাইলটি খুলুন।
  5. আমার বাক্সে এটি ছিল @ সি: \ অ্যানাকোন্ডা 2 \ লিবি \ ডিস্টুটিসস \ এমএসভিসি 9compiler.py find_vcvarsall এই ফাইলটিতে ফাংশন, সংস্করণ যুক্তি মুদ্রণ করে ভিসির সংস্করণ নির্ধারণ করুন। পাইথন ২.7 এর পক্ষে এটি 9.0 হওয়ার সম্ভাবনা রয়েছে
  6. এখন এনভায়রনমেন্ট ভেরিয়েবল VS90COMNTOOLS তৈরি করুন, সি এর দিকে নির্দেশ করে: \ ব্যবহারকারীরা \ পিসি-ব্যবহারকারী \ অ্যাপডাটা \ লোকাল \ প্রোগ্রামগুলি \ সাধারণ \ মাইক্রোসফ্ট \ ভিজ্যুয়াল সি ++ পাইথন \ 9.0 \ ভিসি \ বিনের জন্য
  7. কোনও কারণে ডিস্টিলেটগুলি vcvarsall.bat ফাইলটি ভিসি ডিয়ারের মধ্যে থাকার প্রত্যাশা করে, তবে পাইথন সরঞ্জামগুলির জন্য ভিসি ++ এটি 9.0 এর মূলের মধ্যে রয়েছে এটি সমাধানের জন্য, পথ.জাইন থেকে "ভিসি" সরান (প্রায় 247 লাইনের চারপাশে)

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

উপরের পদক্ষেপগুলি আমার জন্য সমস্যাটি স্থির করেছে।


আমি উপরের পদক্ষেপগুলি অনুসরণ করে লিঙ্কিং ত্রুটি পেয়ে যাচ্ছি LINK: ত্রুটি LNK2001: অমীমাংসিত বাহ্যিক প্রতীক init__init__ বিল্ড \ টেম্পুইন- amd64-2.7 \ রিলিজ_ ইনি_লিব: মারাত্মক ত্রুটি LNK1120: 1 অমীমাংসিত বহিরাগত ত্রুটি: কমান্ড 'সি: \\ ব্যবহারকারী 30 ma306477 \\ অ্যাপডাটা \\ স্থানীয় \\ প্রোগ্রামগুলি \\ প্রচলিত \\ মাইক্রোসফ্ট \\ ভিজ্যুয়াল সি ++ পাইথন \\ 9.0 \\ ভিসি \\ বিন \\ এমডি 64 \\ লিংক.এক্সে 'প্রস্থান স্থিতি 1120 নিয়ে ব্যর্থ হয়েছে
মণীশ প্রসাদ

3

আমি অনেকগুলি সমাধান চেষ্টা করেছিলাম তবে কেবল একজনই আমার পক্ষে কাজ করেছে, মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও ২০০৮ এক্সপ্রেস সি ++ ইনস্টল ।

আমি সি (yEnc, যা এমএস ভিএসের সাথে অন্যান্য সমস্যা রয়েছে) লিখিত পাইথন ২.7 মডিউল নিয়ে এই সমস্যাটি পেয়েছি। দ্রষ্টব্য যে পাইথন ২.২০ টি এমএস ভিএস ২০০৮ সংস্করণ দিয়ে নির্মিত, ২০১০ নয়!

এটি নিখরচায় থাকা সত্ত্বেও এমএস ভিএস ২০১০ প্রচার করছে বলে এটি খুঁজে পাওয়া বেশ কঠিন Still তবে এখনও এমএসডিএন কর্মকর্তা খুব সরাসরি লিঙ্কগুলি কাজ করছেন: ডাউনলোড লিঙ্কগুলির জন্য https://stackoverflow.com/a/15319069/2227298 দেখুন


হ্যাঁ, সবচেয়ে ভাল উপায় হ'ল ভিএস ২০০৮ ইনস্টল করা।
পাইওভার

3

আপনি যদি মিংডব ইনস্টল করে থাকেন

pip install --global-option build_ext --global-option --compiler=mingw32 packagename

কাজ করে, মাইক্রোসফ্টের পরিবর্তে মিংডাব্লু সংকলক ব্যবহার করে পাইপ তৈরি করতে বাধ্য করছে। বিশদ (শেষ পোস্ট) এর জন্য https://github.com/pypa/pip/issues/18 দেখুন ।


3

মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ পাইথন ২.7 এর জন্য http://www.microsoft.com/en-us/download/details.aspx?id=44266 তে সংকলক সমাধান নয়?


আমার জন্য কাজ করেছেন। পাইপ ইনস্টল pysftp এর শেষে ত্রুটির বার্তার এই সমাধানটি ছিলerror: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
বব স্টেইন

3

2016 সালে এটি সমাধানের সবচেয়ে সহজ উপায় হ'ল চকোলেটি এবং তারপরে vcpython27প্যাকেজটি ইনস্টল করা । পাওয়ারশেল খুলুন:

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

2

খুব বেশি দেরি হয়েছে কিনা তা আমি জানি না তবে পাইথন ২.7 এর জন্য মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ সংকলকটি পেয়েছি যা পড়ে

আপনার যদি এই সংকলক প্যাকেজটির প্রয়োজন হয় তবে আপনি যে সাধারণ ত্রুটি বার্তাটি পাবেন তা ভিসিভার্সাল.ব্যাট খুঁজে পেতে অক্ষম

আশাকরি এটা সাহায্য করবে!


2

আমি একই সমস্যা পেয়েছি এবং এই মুহুর্তে এটি সমাধান করেছি।

"গুগল" আমাকে বলেছিল যে পাইথন ২.7 এর জন্য আমার "মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ সংকলক" ইনস্টল করা দরকার। আমি কেবল সরঞ্জামটিই ইনস্টল করি না, তবে ভিজ্যুয়াল সি ++ ২০০৮ পুনঃনির্ধারণযোগ্য, তবে এটি কোনও লাভ করেনি। আমি তখন ভিজ্যুয়াল সি ++ ২০০ এক্সপ্রেস সংস্করণ ইনস্টল করার চেষ্টা করেছি। আর সমস্যা চলে গেছে!

শুধু ভিজ্যুয়াল সি ++ ২০০ এক্সপ্রেস সংস্করণ ইনস্টল করার চেষ্টা করুন!


2

কলিং import setuptoolsইচ্ছা বানর প্যাচ distutils ভিসুয়াল স্টুডিও সাথে সামঞ্জস্যের বলপূর্বক। vcvars32.batম্যানুয়ালি কল করা ভার্চুয়াল পরিবেশ সেটআপ করবে এবং সংকলকটি ফেলতে থাকা অন্য সাধারণ ত্রুটিগুলি রোধ করবে। ভিএস 2017 এর জন্য ফাইলটি অবস্থিত

"সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও \ 2017 \ সম্প্রদায় \ উপাচার্য ux সহায়ক \ বিল্ড \ vcvars32.bat"

.Pyd ফাইলগুলিকে .pyd তে দ্রুত সংকলন করতে আমি এখানে সেটআপ স্ক্রিপ্টটি ব্যবহার করেছি: (দ্রষ্টব্য: এটি তৃতীয় পক্ষের মডিউল সেন্ড 2 ট্র্যাশ ব্যবহার করে

# cython_setup.py
import sys, os, time, platform, subprocess
from setuptools import setup, find_packages
from Cython.Build import cythonize
from traceback import format_exc

# USAGE:
#
#   from cython_setup import run
#   run(pyx_path)

# vcvars = r"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"

# NOTE: to use visual studio 2017 you must have setuptools version 34+
vcvars = r"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars32.bat"


def _build_ext():
    try:
        pyx_path = sys.argv.pop(-1)
        pyx_path = os.path.abspath(pyx_path)
        if not os.path.exists(pyx_path):
            raise FileNotFoundError(f"{pyx_path} does not exist")
        project_name = sys.argv.pop(-1)
        os.chdir(os.path.abspath(os.path.dirname(pyx_path)))

        print("cwd: %s" % os.getcwd())
        print(os.path.abspath("build"))
        setup(
            name=project_name,
            # cmdclass = {'build_ext': build_ext},
            packages=find_packages(),
            # ext_modules=cythonize(extensions)
            ext_modules=cythonize(pyx_path,
                                  compiler_directives={'language_level': 3, 'infer_types': True, 'binding': False},
                                  annotate=True),
            # include_dirs = [numpy.get_include()]
            build_dir=os.path.abspath("build")
        )
    except:
        input(format_exc())


def retry(func):
    def wrapper(*args, **kw):
        tries = 0
        while True:
            try:
                return func(*args, **kw)
            except Exception:
                tries += 1
                if tries > 4:
                    raise
                time.sleep(0.4)

    return wrapper


@retry
def cleanup(pyx_path):
    from send2trash import send2trash
    c_file = os.path.splitext(pyx_path)[0] + ".c"
    if os.path.exists(c_file):
        os.remove(c_file)

    if os.path.exists("build"):
        send2trash("build")


def move_pyd_files(pyx_path):
    pyx_dir = os.path.dirname(pyx_path)
    build_dir = os.path.join(pyx_dir, "build")
    if not os.path.exists(build_dir):
        raise RuntimeError(f"build_dir {build_dir} did not exist....")
    found_pyd = False
    for top, dirs, nondirs in os.walk(build_dir):
        for name in nondirs:
            if name.lower().endswith(".pyd") or name.lower().endswith(".so"):
                found_pyd = True
                old_path = os.path.join(top, name)
                new_path = os.path.join(pyx_dir, name)
                if os.path.exists(new_path):
                    print(f"removing {new_path}")
                    os.remove(new_path)
                print(f"file created at {new_path}")
                os.rename(old_path, new_path)
    if not found_pyd:
        raise RuntimeError("Never found .pyd file to move")

def run(pyx_path):
    """
    :param pyx_path:
    :type pyx_path:
    :return: this function creates the batch file, which in turn calls this module, which calls cythonize, once done
    the batch script deletes itself... I'm sure theres a less convoluted way of doing this, but it works
    :rtype:
    """
    try:
        project_name = os.path.splitext(os.path.basename(pyx_path))[0]
        run_script(project_name, os.path.abspath(pyx_path))
    except:
        input(format_exc())


def run_script(project_name, pyx_path):
    dirname = os.path.dirname(pyx_path)
    # ------------------------------
    os.chdir(dirname)
    if os.path.exists(vcvars):
        #  raise RuntimeError(
        # f"Could not find vcvars32.bat at {vcvars}\nis Visual Studio Installed?\nIs setuptools version > 34?")
        subprocess.check_call(f'call "{vcvars}"', shell=True)

    cmd = "python" if platform.system() == "Windows" else "python3"
    subprocess.check_call(f'{cmd} "{__file__}" build_ext "{project_name}" "{pyx_path}"', shell=True)
    move_pyd_files(pyx_path)
    cleanup(pyx_path)


if len(sys.argv) > 2:
    _build_ext()

প্রকৃতপক্ষে, সিথন সংকলনেরsetuptools ক্ষেত্রেও আমদানি সহায়তা করে ।
বাসজ

আপনি কি আরও কিছু বিস্তারিত বলতে পারেন? কিভাবে ম্যানুয়ালি vcvars32.bat কল? আমার সাইথন সংকলন রয়েছে
জুন ওয়াং

2

ভিজ্যুয়াল সি ++ 2015 বিল্ড সরঞ্জামগুলি ডাউনলোড এবং ইনস্টল করতে এই লিঙ্কটি ব্যবহার করুন । এটি স্বয়ংক্রিয়ভাবে ভিজ্যুয়াল স্টুডিও ইনস্টল না visualcppbuildtools_full.exeকরে ভিজ্যুয়াল সি ++ 14.0 ডাউনলোড এবং ইনস্টল করবে । ইনস্টলেশন সমাপ্ত হওয়ার পরে, পাইপ ইনস্টল করার চেষ্টা করুন এবং আপনি আবার ত্রুটি পাবেন না।

আমি নিম্নলিখিত প্ল্যাটফর্ম এবং সংস্করণে এটি পরীক্ষা করেছি:

Python 3.6 on Windows 7 64-bit
Python 3.7 on Windows Server 2016 (64-bit system)
Python 3.8 on Windows 10 64-bit

1

আপনি যদি উইন্ডোজ বাক্সে পাইওডবিসি ইনস্টল করতে দেখেন যাতে ভিজ্যুয়াল স্টুডিও ইনস্টল করা নেই অন্য বিকল্প হ'ল বাইনারি বিতরণ ব্যবহার করে ম্যানুয়ালি পায়োডবিসি ইনস্টল করা।

এটি বিশেষভাবে কার্যকর যদি আপনি যে মেশিনটির সাথে কাজ করছেন এবং প্রশাসনিক অধিকার না পেয়ে আপনি কোনও ভার্চুয়ালেনভ সেটআপ করার চেষ্টা করছেন ।

পদক্ষেপ:

  1. এখান থেকে সর্বশেষতম উইন্ডোজ ইনস্টলারটি ডাউনলোড করুন (পায়োডবিসি-এক্সএক্সএক্সভিউইন-ওয়াই-পাই 2.7.exe)
  2. 7-জিপ (বা উইনআরএআর বা যা কিছু) ব্যবহার করে নির্বাহযোগ্য ইনস্টলারটি খুলুন
  3. Pyodbc.pyd এবং pyodbc-XXX-py2.7.egg-info এক্সট্রাক্ট করুন এবং এগুলিতে রাখুন [python installation directory or virtualenv]\Lib\site-packages
  4. 4 পদক্ষেপ নেই :)

1

পাইথন ৩.৪ এর সাথে, নির্ভরতা ভিজ্যুয়াল স্টুডিও ২০১০-তে রয়েছে Vis ভিজ্যুয়াল সি ++ ২০১০ এক্সপ্রেস ইনস্টল করা আমার জন্য সমস্যাটি স্থির করেছে।

ভিএস ২০০৮ বা ২০১৩ ইনস্টল করে এটি কাজ করে যা আমি কাজ করি নি।



1

@ মোনকি প্রদত্ত উত্তরটি সঠিকগুলির মধ্যে একটি, তবে এটি অসম্পূর্ণ।

আপনি যদি MinGW ব্যবহার করতে চান তবে আপনাকে "Make.exe" পেতে MinGW ইনস্টলেশন প্রক্রিয়া চলাকালীন প্রস্তাবিত সি, সি ++ এবং অন্যান্য বিকাশ সরঞ্জামগুলি নির্বাচন করা উচিত।

আপনার অবশ্যই env এ Make.exe সেট করতে হবে।

তার উত্তরটি সম্পূর্ণ করতে, পদক্ষেপগুলি এখানে:

  1. আপনার পরিবেশের ভেরিয়েবলগুলিতে মিংডব্লিউ 32 এর বিন ডিরেক্টরি যুক্ত করুন
  2. পরিশেষে C:\Programs\MinGW\bin;C:\Programs\MinGW\msys\1.0\bin;পথে
  3. সম্পাদনা করুন (এটি উপস্থিত না থাকলে তৈরি করুন) distutils.cfgফাইলটি অবস্থিত C:\Python26\Lib\distutils\distutils.cfg:

    [build]
    compiler=mingw32

পরিবেশের ভেরিয়েবলগুলি একটি নতুন সেন্টিমিডি.এক্সপি খোলার মাধ্যমে সেট করা আছে তা নিশ্চিত করুন।


32 বিট পাইথন মডিউলগুলি 32 বিট মিংডাব্লু দিয়ে সংকলিত করতে হবে, যখন bit৪ বিট পাইথন মডিউলগুলি bit৪ বিট মিংডাব্লু দিয়ে সংকলন করা উচিত। সাইগউইন bit৪ বিটে, এখানে দুটি মিংডাব্লিউ এক্সিকিউটেবল উপলব্ধ: x86_64-w64-mingw32-gccএবং i686-w64-mingw32-gcc। এই এক্সিকিউটেবলগুলি সম্ভবত আপনি মিংডউ থেকে সাধারণত যা পেয়েছিলেন ঠিক তেমনই (কেবল একটি সাইগউইন পরিবেশের মধ্যে সংকলিত)।
সিএমসিডিগ্রাগনকাই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.