දෝෂය: vcvarsall.bat සොයාගත නොහැක


856

මම පයිතන් පැකේජය ඩල්විච් ස්ථාපනය කිරීමට උත්සාහ කළෙමි :

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

47
මෙය හාස්‍යජනක ගුප්ත හා උදව් කළ නොහැකි වැරදි පණිවිඩයක් යැයි ඔබ සිතන්නේ නම්, කරුණාකර දෝෂය සඳහා bugs.python.org/issue2943
කර්නල්

48
මයික්‍රොසොෆ්ට් දැන් විසඳුමක් සපයයි: microsoft.com/en-us/download/details.aspx?id=44266
මාර්ටිජන් පීටර්ස්

6
ArtMartijnPieters මම ඔබ ලබා දුන් සබැඳිය රෝද සහ සෙටප්ටූල් 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
ස්ටීව් ඩවර් (මයික්‍රොසොෆ්ට් හි පයිතන් කණ්ඩායමේ පුද්ගලයෙක්) මෙම මාතෘකාව ගැන කියවීමට වටින බ්ලොග් සටහනක් ලියා ඇත: blogs.msdn.microsoft.com/pythonengineering/2016/04/11/…
කෝඩි

Answers:


682

යාවත්කාලීන කිරීම : අදහස් දක්වන්නේ මෙහි ඇති උපදෙස් භයානක විය හැකි බවයි. විෂුවල් සී ++ 2008 එක්ස්ප්‍රස් සංස්කරණය හෝ පයිතන් සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ සම්පාදකය භාවිතා කිරීම සලකා බලන්න ( විස්තර ) සහ පහත පිළිතුර භාවිතා නොකරන්න . මුල් දෝෂ පණිවිඩය යනු දෘශ්‍ය C ++ හි අවශ්‍ය අනුවාදය ස්ථාපනය කර නොමැති බවයි.


වින්ඩෝස් ස්ථාපනයන් සඳහා:

පැකේජ ස්ථාපනයන් සඳහා setup.py ධාවනය කරන අතරතුර, පයිතන් 2.7 ස්ථාපිත දෘශ්‍ය ස්ටුඩියෝ 2008 සඳහා සොයයි . VS90COMNTOOLSඇමතීමට පෙර පරිසර විචල්‍යයේ නිවැරදි මාවත සැකසීමෙන් ඔබට නව දෘශ්‍ය චිත්‍රාගාරයක් භාවිතා කිරීමට පයිතන් පොළඹවා ගත හැකිය setup.py.

ස්ථාපනය කර ඇති විෂුවල් ස්ටුඩියෝ අනුවාදය මත පදනම්ව පහත විධානය ක්‍රියාත්මක කරන්න:

  • විෂුවල් ස්ටුඩියෝ 2010 (වීඑස් 10): SET VS90COMNTOOLS=%VS100COMNTOOLS%
  • විෂුවල් ස්ටුඩියෝ 2012 (වීඑස් 11): SET VS90COMNTOOLS=%VS110COMNTOOLS%
  • විෂුවල් ස්ටුඩියෝ 2013 (වීඑස් 12): SET VS90COMNTOOLS=%VS120COMNTOOLS%
  • විෂුවල් ස්ටුඩියෝ 2015 (VS14): SET VS90COMNTOOLS=%VS140COMNTOOLS%

අවවාදයයි: පහත සඳහන් පරිදි, ඔබ පයිතන් මොඩියුල සම්පාදනය කිරීමට උත්සාහ කරන්නේ නම් මෙම පිළිතුර ක්‍රියාත්මක නොවනු ඇත.

වැඩි විස්තර සඳහා වින්ඩෝස් හි පයිතන් 2.7 සඳහා lxml ගොඩනැගීම බලන්න .


21
එය මට කළේ :(
fmuecke

8
Il ගිලි: මෙම ගැටළුව විචල්‍යයේ ඇති අවකාශයන් නිසා බව පෙනේ, එය උපුටා දැක්වීම් තුළ එතීමට උත්සාහ කරන්න. මට% VS100COMNTOOLS% = "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ Tools"
legends2k

7
මෙය බොහෝ දේ සඳහා ක්‍රියා නොකරනු ඇත, මන්ද පයිතන් VS2008 මත රඳා පවතී. මෙම පිළිතුර දෙස බලන්න: stackoverflow.com/questions/6551724/…
shezi

182
අවවාදයයි !!! මෙය වැරදි පිළිතුරකි. ඔබ කිසිදු තත්වයක් යටතේ පයිතන් සී දිගුව සම්පාදනය නොකළ යුතුය. විවිධ (සංස්කරණ) සම්පාදක භාවිතා කරමින් පයිතන් සම්පාදනය කිරීමට භාවිතා කළ තැනැත්තාට එම සංස්කරණ දෙකෙහි (සංස්කරණ) නොගැලපෙන සී ධාවන කාල පුස්තකාල තිබිය හැක. බලන්න මේ ගැන තවත් විස්තර විස්තර පිළිතුර.
පියොටර් ඩොබ්‍රොගොස්ට්

72
ඔබට go.microsoft.com/?linkid=7729279 වෙතින් නොමිලේ විෂුවල් සී ++ 2008 එක්ස්ප්‍රස් සංස්කරණය බාගත කළ හැකි අතර එමඟින් ස්ථාපනය අතරතුර VS90COMNTOOLS පරිසර විචල්‍යය සැකසෙනු ඇති අතර එම නිසා අනුකූල සම්පාදකයෙකු සමඟ ගොඩනගා ගත හැකිය.
එරික් ස්මිත්

224

මම විසඳුම සොයා ගත්තා. 'අමරා' ස්ථාපනය කිරීමේදී මට හරියටම එකම ගැටලුවක් හා දෝෂයක් තිබුණි. මම mingw32 ස්ථාපනය කර ඇත, නමුත් distutils වින්‍යාස කිරීමට අවශ්‍ය විය.

  1. මා සතුව දැනටමත් ස්ථාපනය කර ඇති පයිතන් 2.6 ඇත.
  2. මම mingw32 සිට ස්ථාපනය කළෙමි C:\programs\mingw\
  3. ඔබේ පරිසර විචල්‍යයට mingw32 හි බින් නාමාවලිය එක් කරන්න: PATHc:\programs\MinGW\bin; වෙත එකතු කරන්න
  4. සංස්කරණය කරන්න (නොපවතින නම් සාදන්න) distutils.cfg ගොනුව පිහිටා ඇත්තේ C:\Python26\Lib\distutils\distutils.cfg:

    [build]
    compiler=mingw32
  5. දැන් දුවන්න easy_install.exe amara.

නව එකක් විවෘත කිරීමෙන් පරිසරය සකසා ඇති බවට වග බලා ගන්න cmd.exe.


45
මෙය Python2.6 සඳහා ඉතා හොඳින් ක්‍රියා කරයි, නමුත් කිසියම් හේතුවක් නිසා මට එය Python2.7 හි වැඩ කිරීමට නොහැකි වේ. මම මගේ පැකේජ ප්‍රභවය බාගත කර 'python setup.py install --compile = mingw32' භාවිතයෙන් ස්ථාපනය කළහොත් එය ක්‍රියාත්මක වේ, නමුත් කිසියම් හේතුවක් නිසා easy_install හෝ pip භාවිතා කරමින් vcvarsall සොයා ගැනීමට උත්සාහ කරයි.
ජොනතන් හාර්ට්ලි

2
අවසානයේදී මම එකතු කිරීම මඟින් පිඹුරා දී ස්ථාපනය කිරීමට scikits.image (x, y) 2.7 විය C:\msysgit\mingw\mingw32\binහා C:\msysgit\mingw\binපරිශීලක PATH හා ධාවනය පෙර Spyder යලි ඇරඹීම ද pip installනැවත
endolith

20
අවශ්යතාවයක් නැත මෙතෙක් නිසා පරිසරයක් විචල්ය වෙනස් නැවත ආරම්භ කිරීමට. නව cmd.exe ක්‍රියාවලියක් විවෘත කිරීම ප්‍රමාණවත්ය.
ටොමලක්

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
eruser, ඔබ මෙම ගොනුව විවෘත කළ යුතුය: C:\Python27\Lib\distutils\cygwincompiler.pyසහ එහි ඇති සියලුම සිදුවීම් ඉවත් කරන්න –mno-cygwin; මෙයට හේතුව GCC හි මෑත සංස්කරණ –mno-cygwinවිකල්පය ඉවත් කර ඇති අතර එය එහි නොතිබිය යුතුය.
සීනබ් අබ්බාසිමසාර්

220

ඔබට සංයුක්ත අනුවාදය http://www.lfd.uci.edu/~gohlke/pythonlibs/ වෙතින් ස්ථාපනය කළ හැකිය.


15
ඉඟියක් පමණි: මෙම පිළිතුරටeasy_install binary_installer_built_with_distutils.exe අනුකූලව virtualenv හි ධාවනය කිරීමෙන් ඔබට මෙම වෙබ් අඩවියෙන් virtualenv හි පැකේජය ස්ථාපනය කළ හැකිය .
yangzh

1
ඔබට wheel convert ....exeමෙම ස්ථාපකයන් ද කළ හැකි අතර පසුව ඔබ කැමති විටෙක ඒවා පයිප්පයකින් ස්ථාපනය කරන්න.
සූබා

3
වඩාත් නිවැරදිව කිවහොත්, lfd.uci.edu/~gohlke/pythonlibs/#mysql-python බාගත කළ පසු පරිපාලක ලෙස ටර්මිනලයක් විවෘත කර ධාවනය කරන්නpython -m pip install <filename>
arun

දෙවියන්ගේ මව වන හොලී, මේ මොහොතේම හරි. චමත්කාරජනක ලෙස ක්‍රියා කරයි, TY :)
අමීර්

163

ඔබට mingw වෙනුවට Visual Studio C ++ සමඟ සම්පාදනය කිරීමට අවශ්‍ය නම් ...

  1. python.exeඑය සම්පාදනය කරන ලද VC ++ අනුවාදය පෙන්වීමට ධාවනය කරන්න (උදාහරණය පහත දැක්වේ).

    එය වැදගත් අනුරූප දෘශ්ය C ++ සිට Python සමග සකස් කළ බව සම්පාදක අනුවාදය භාවිතා කිරීමට distilutils ගේ get_build_versionසංස්කරණ (මිශ්ර කිරීම වළක්වා Piotr අනතුරු ඇඟවීම අනුව ).

    • කහ (ඉහළ) යනු පයිතන් 2.7, MSC v.1500 සමඟ සම්පාදනය කර ඇත (විෂුවල් ස්ටුඩියෝ සී ++ 2008)
    • රතු (පහළ) යනු පයිතන් 3.4.1, MSC v.1600 සමඟ සම්පාදනය කර ඇත (විෂුවල් ස්ටුඩියෝ සී ++ 2010)

    MSC v.1500 සමඟ සම්පාදනය කරන ලද පයිතන් 2.7 සහ MSC v.1600 සමඟ සම්පාදනය කරන ලද පයිතන් 3.4.1 පෙන්වන විධාන රේඛාවේ උදාහරණය

  2. අභ්‍යන්තර VC ++ අනුවාදය අනුරූප දෘශ්‍ය ස්ටුඩියෝ නිකුතුව සමඟ ගැලපීමට පහත වගුව [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. පෙර පියවරෙන් විෂුවල් ස්ටුඩියෝ සී ++ හි අනුරූප අනුවාදය බාගත කර ස්ථාපනය කරන්න.
    VC ++ හි නිශ්චිත අනුවාදයන් සඳහා අමතර සටහන් පහත දැක්වේ.

    විෂුවල් ස්ටුඩියෝ සී ++ 2008 සඳහා සටහන්

    බිට් 32 සම්පාදකයින් සඳහා පමණක් විෂුවල් ස්ටුඩියෝ සී ++ 2008 එක්ස්ප්‍රස් සංස්කරණය බාගන්න .

    64-බිට් සම්පාදකයින් සඳහා [2] [3] , වින්ඩෝස් 7 සහ .නෙට් රාමුව 3.5 එස්පී 1 සඳහා වින්ඩෝස් එස්ඩීකේ බාගන්න .

    • Developer Tools >> Visual C++ Compilersඔබට අවශ්‍ය නොවන SDK මෙවලම් ස්ථාපනය කිරීමෙන් කාලය සහ තැටියේ ඉඩ ඉතිරි කිරීම හැර සියල්ල ඉවත් කරන්න.

    විෂුවල් ස්ටුඩියෝ සී ++ 2010 සඳහා සටහන්

    මයික්‍රොසොෆ්ට් ආයතනයට අනුව, ඔබ විෂුවල් ස්ටුඩියෝ 2010 එස්පී 1 ස්ථාපනය කර ඇත්නම්, එය වීසී ++ සඳහා සම්පාදක සහ පුස්තකාල ඉවත් කර තිබිය හැක.
    එය එසේ නම්, දෘශ්‍ය සී ++ 2010 එස්පී 1 සම්පාදක යාවත්කාලීන බාගන්න .

    විෂුවල් ස්ටුඩියෝ සී ++ සඳහා සටහන්

    ඔබට දෘශ්‍ය ස්ටුඩියෝ IDE අවශ්‍ය නොවේ නම්, Visual Studio C ++ 2015 Build Tools බාගන්න .

    විෂුවල් ස්ටුඩියෝ සී ++ 2017 සඳහා සටහන්

    ඔබට දෘශ්‍ය ස්ටුඩියෝ IDE අවශ්‍ය නොවේ නම්, දෘශ්‍ය ස්ටුඩියෝ 2017 සඳහා බිල්ඩ් මෙවලම් බාගන්න .

    යෝජනාව : ඔබට 32- හා 64-බිට් පයිතන් ස්ථාපනයක් තිබේ නම්, ඔබට වෙනම පයිතන් පරිසරයක් නිර්මාණය කිරීම සඳහා virtualenv භාවිතා කිරීමට අවශ්‍ය විය හැකිය, එවිට ඔබට කුමන හෝ පයිතන් අනුවාදයක් තෝරා ගැනීමට ඔබේ මාර්ගය අවුල් නොකර වරකට එකක් හෝ වෙනත් එකක් භාවිතා කළ හැකිය. භාවිත.

@Srodriguex ට අනුව , මෙම පිළිතුර අනුගමනය කිරීමෙන් පයිතන් සොයන ස්ථානයට කණ්ඩායම් ගොනු කිහිපයක් පිටපත් කිරීමෙන් ඔබට කණ්ඩායම් ගොනුව (පියවර 4-6) අතින් පැටවීම මඟ හැරිය හැක . එය ක්‍රියාත්මක නොවන්නේ නම්, මුලින් මා වෙනුවෙන් වැඩ කළ පහත පියවර මෙන්න.

  1. විවෘත කරන්න a cmd.exe

  2. ඔබ සී දිගුවන් අවශ්‍ය යමක් ස්ථාපනය කිරීමට උත්සාහ කිරීමට පෙර , VC ++ සම්පාදකයාගේ පරිසරය සැසිවාරයට පැටවීම සඳහා පහත දැක්වෙන කාණ්ඩ ගොනුව ධාවනය කරන්න (එනම් පරිසර විචල්‍යයන්, සම්පාදකයා වෙත යන මාර්ගය ආදිය).

    ක්‍රියාත්මක කරන්න:

    • 32-බිට් සම්පාදකයින්:

      සටහන : 32-bit Windows ස්ථාපනය පමණක් වනු ඇත C:\Program Files\බලාපොරොත්තු වූ පරිදි

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

    • 64-බිට් සම්පාදකයින්:

      "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-bit සම්පාදක මෙවලම් සඳහා වන අතර පසුව සඳහන් වූ 32-bit Windows ස්ථාපන මත ධාවනය කළ හැකි බව 64-bit හරස් සම්පාදනය වේ .

    යාවත්කාලීන කිරීම:
    යම් හේතුවක් නිසා ඔබට ලැබෙන්නේ නම් 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 ++ සඳහා සහයෝගයෙන් කටයුතු කිරීම සඳහා ග්‍රහලෝක නිවැරදිව පෙළ ගැසී ඇති බව ඔබේ ඇඟිලි තුඩු වලින් හරවන්න.


ඔබ තරම් නිර්දේශ කරන්න බැහැ කියලා බිට් 64 කෙලින්ම ගමන් වේදනාව හරහා යන්න. ඔබට ලිපින ඉඩ ප්‍රමාණය 4gb ට වඩා අවශ්‍ය වීමට පෙර එය ඉතා සුළු කාලයක් පමණි. බිට් 32 පසු වූ පසු වේදනාකාරී අත්දැකීම් වලින් මම කතා කරන්නේ එය වඩාත් පහසු වූ නිසාය, පසුව පරායත්තතා ඇතුළු සියල්ල අස්ථාපනය කර බිට් 64 ක් යන්න. මුළු සති අන්තයේම පාහේ.
තෝමස් බ්‍රවුන්

1
ඊට පස්සෙ මට අමතකයි, ඒ වගේ විශාල කාර්යයන් සඳහා කීදෙනෙකුට පයිතන් භාවිතා කිරීමට සිදුවනු ඇත්ද යන්න. හා තෝමස් බ්‍රවුන්, එය අත්දැකීමක වේදනාකාරී හා අනවශ්‍ය නපුරක් බව මට විශ්වාසයි. මම ඒ ගැන සොයා බලනවා, මට යමක් සොයාගත හැකියි කියා බලාපොරොත්තු වෙනවා. ප්‍රධාන ගැටළුව වූයේ විෂුවල් ස්ටුඩියෝ සී ++ 2008 එක්ස්ප්‍රස් 64-බිට් සම්පාදකයෙකු සමඟ නොපැමිණීමයි, නමුත් මට විශ්වාසයි එය කොහේ හෝ තැනක ඇති බව.
ජොෂ් බෝඩන්

ඔබට අවශ්‍ය නම් බිට් 64 සම්පාදකයින් ලබා ගන්නේ කෙසේද යන්න ආවරණය වන පරිදි වැඩි විස්තර සහිතව එය යාවත්කාලීන කරන්න.
ජොෂ් බෝඩන්

මගේ නඩුවේදී, මම ඉහත පියවර 1 අනුගමනය කර මෙම පිළිතුර අනුගමනය කිරීමෙන් ඉතිරි කොටස මඟ හැරියෙමි . .Bat ධාවනය කිරීමේ කරදරයෙන් වැළකී පැකේජ ස්ථාපනය කිරීමට මට දැන් හැකි වී තිබේ.
srodriguex

rosrodriguex එම අවස්ථාවේ දී, පයිතන් උපකල්පනය කරන්නේ බිට් 64 සම්පාදක මෙවලම් PATH වෙත පටවනු ලබන්නේ එය සොයන ...\VC\bin\vcvarsamd64.batසහ භාවිතා කරන බවයි ...\VC\bin\amd64\vcvarsamd64.bat.
ජොෂ් බෝඩන්

73

වෙන්නේ කුමක් ද? පයිතන් මොඩියුල C හෝ C ++ වලින් ලිවිය හැක (සාමාන්‍යයෙන් වේගය සඳහා). ඔබ එවැනි පැකේජයක් Pip (හෝ setup.py) සමඟ ස්ථාපනය කිරීමට උත්සාහ කරන්නේ නම් , එයට C / C ++ ප්‍රභවයෙන් සම්පාදනය කළ යුතුය. මයික්‍රොසොෆ්ට් විෂුවල් සී ++ ස්ථාපනය කර ඇති සම්පාදකයා ඔබ විසින් නිර්භීතව උපකල්පනය කරනු ඇත. ඔබට එය නොමැති නම්, ඔබට මෙම ගුප්ත දෝෂ පණිවිඩය පෙනෙනු ඇත "දෝෂය: vcvarsall.bat සොයා ගැනීමට නොහැකි විය".

නියමිත විසඳුම වන්නේ මයික්‍රොසොෆ්ට් විෂුවල් සී ++ හෝ සී / සී ++ සම්පාදකයක් ස්ථාපනය කිරීමයි මින්ජීඩබ්ලිව් (විවෘත මූලාශ්‍ර ව්‍යාපෘතියක්) වන . කෙසේ වෙතත්, එක්කෝ ස්ථාපනය කිරීම සහ වින්‍යාස කිරීම තහනම් ය. (2014 සංස්කරණය කරන්න: මයික්‍රොසොෆ්ට් විසින් පයිතන් 2.7 සඳහා විශේෂ C ++ සම්පාදකයක් ප්‍රකාශයට පත් කර ඇත )

පහසුම විසඳුම වන්නේ ජනප්‍රිය පයිතන් පැකේජ සඳහා ක්‍රිස්ටෝෆ් ගොල්ක්ගේ වින්ඩෝස් ස්ථාපකයන් (.msi) භාවිතා කිරීමයි. ඔහු පයිතන් 2.x සහ 3.x, 32 බිට් සහ 64 බිට් සඳහා ස්ථාපකයන් සාදයි. ඔබට ඒවා බාගත කළ හැකිය http://www.lfd.uci.edu/~gohlke/pythonlibs/


"දෝෂය: vcvarsall.bat සොයා ගැනීමට නොහැකි වීම" හාස්‍යජනක ගුප්ත හා උදව් කළ නොහැකි පණිවිඩයක් යැයි ඔබත් සිතන්නේ නම්, කරුණාකර දෝෂය පිළිබඳව අදහස් දක්වන්න http://bugs.python.org/issue2943 වඩාත් ප්රයෝජනවත් හා user- එය විස්ථාපනය කිරීමට මිත්‍රශීලී පණිවිඩය.

සංසන්දනය කිරීම සඳහා, රූබි පැකේජ කළමණාකරුවෙකු වන මැණික් සමඟ නැව්ගත කරන අතර අර්ධ-නිල C / C ++ සම්පාදකයෙකු වන DevKit ඉදිරිපත් කරයි. එය නොමැතිව පැකේජයක් ස්ථාපනය කිරීමට ඔබ උත්සාහ කරන්නේ නම්, මෙම ප්‍රයෝජනවත් මිත්‍රශීලී ප්‍රයෝජනවත් පණිවිඩය ඔබට පෙනේ:

ගොඩනැගීමේ මෙවලම් ඇතුළත් කිරීමට කරුණාකර ඔබගේ PATH යාවත්කාලීන කරන්න හෝ http://rubyinstaller.org/downloads වෙතින් DevKit බාගත කර උපදෙස් අනුගමනය කරන්න http://github.com/oneclick/rubyinstaller/wiki/Development-Kit

ඔබට පයිතන් ඇසුරුම්කරණය පිළිබඳ වැඩි විස්තරයක් https://stackoverflow.com/a/13445719/284795 වෙතින් කියවිය හැකිය.


මගේ අථත්ය පරිසරය තුළ මෙම පූර්ව සම්පාදනය කළ හැකි ක්රියාත්මක කළ හැකි ස්ථාපනය කිරීමට මට පයිප්ප භාවිතා කරන්නේ කෙසේද?
ෂයිලන්

ha ෂයිලෙන්ටීජේ හොඳ ප්‍රශ්නයක්. මම එය කිසි විටෙකත් කර නැත, නමුත් stackoverflow.com/a/5442340/284795
කර්නල්

මෙය මා දන්නා හොඳම / පහසුම විසඳුමයි. ස්තූතියි.
user1477388

එම සංස්කරණය 2014 මට හොඳම පිළිතුරයි. උපදෙස් මග හැරීම පහසුය: ඔබ setuptoolsඅනුවාදයට යාවත්කාලීන කිරීම 6.0හෝ ඊට ඉහළින් සහතික කිරීම pip install setuptools --upgrade.
ඕර්ලේඩ්

64

ඔබට මයික්‍රොසොෆ්ට් සම්පාදකයක් ස්ථාපනය කිරීමට අවශ්‍ය වනු ඇත, එය පයිතන් තැනීමට භාවිතා කරන සම්පාදකයා සමඟ අනුකූල වේ. මෙයින් අදහස් කරන්නේ ඔබට දෘශ්‍ය සී ++ 2008 (හෝ අළුත්, යම්කිසි වෙනස් කිරීමක් සහිතව ) අවශ්‍ය බවයි.

එය ලොවට මුදාහරිනවා සම්පාදක හා ශීර්ෂ මයික්රොසොෆ්ට් දැන් සපයනු පමණක් වන අමතක නොවන URL එක දී, Python දිගු සකස් කිරීමට හැකි විය:

පයිතන් 2.7 සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ සම්පාදකය

http://aka.ms/vcpython27

මෙය සාපේක්ෂව කුඩා පැකේජයකි; බාගත කිරීම සඳහා 85MB, පරිපාලක වරප්‍රසාද නොමැතිව ස්ථාපනය කළ හැකිය, නැවත ආරම්භ කිරීම අවශ්‍ය නොවේ. නම ටිකක් නොමඟ යවන සුළුය, සම්පාදකයා පයිතන් 2.7 පමණක් නොව දෘශ්‍ය සී ++ 2008 සමඟ සම්පාදනය කරන ලද ඕනෑම පයිතන් අනුවාදයක් සඳහා ක්‍රියා කරයි.

ඔබ පයිතන් අන්තර්ක්‍රියාකාරී විමසුමක් හෝ මුද්‍රණයක් ආරම්භ කරන්නේ නම් sys.version, MSCඅනුවාද මාලාව සොයන්න ; එය එසේ නම්MSC v.1500 ඔබට මෙම මෙවලම භාවිතා කළ හැකිය.

සිට මුල් නිවේදනය ද distutils ලැයිස්තුවට :

මයික්‍රොසොෆ්ට් විසින් පයිතන් 2.7 සඳහා සම්පාදක පැකේජයක් නිකුත් කර ඇති අතර වින්ඩෝස් හි ඔවුන්ගේ සී දිගුව මොඩියුල සෑදීම සහ බෙදා හැරීම පහසු කරවයි. පයිතන් 2.7 (aka VC9) සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ සම්පාදකය ලබා ගත හැක්කේ: http://aka.ms/vcpython27

මෙම පැකේජයේ පයිතන් 2.7 32-බිට් සහ 64-බිට් සඳහා සී විස්තාරණ මොඩියුල සෑදීම සඳහා අවශ්‍ය සියලුම මෙවලම් සහ ශීර්ෂයන් අඩංගු වේ (සමහර දිගු කිරීමේ මොඩියුලවලට ඇතුළත් නොවන OpenSSL හෝ libxml2 වැනි තෙවන පාර්ශවීය පරායත්තතා අවශ්‍ය බව සලකන්න). විෂුවල් සී ++ 2008 සමඟ සාදන ලද පයිතන්ගේ අනෙකුත් සංස්කරණ සඳහාද සහය දක්වයි, එබැවින් "පයිතන් 2.7" යනු වෙළඳ දැන්වීම් පමණි - එය 2.6 සහ 3.2 සමඟ හොඳින් ක්‍රියා කරයි.

ඔබට setuptools6.0 හෝ නව ස්ථාපනය කර තිබිය යුතු බව සලකන්න (බාගැනීම් පිටුවේ පද්ධති අවශ්‍යතා ලැයිස්තුගත කර ඇත). ඔබ ස්ථාපනය කරන ව්‍යාපෘතිය භාවිතා කළ යුතුය setuptools.setup(), නැතdistutils නැතහොත් ස්වයංක්‍රීයව හඳුනාගැනීම ක්‍රියා නොකරනු ඇත.

මයික්‍රොසොෆ්ට් ප්‍රකාශ කර ඇත්තේ ඔවුන්ට URL ස්ථායීව තබා ගැනීමට අවශ්‍ය බවය, එවිට ස්වයංක්‍රීය ස්ක්‍රිප්ට වලට එය පහසුවෙන් යොමු කළ හැකිය.


2
මගේ අනෙක් අදහස් අනුව, ඔබට setuptoolsයාවත්කාලීනව පවතින බව සහතික කළ හැකිය pip install setuptools --upgrade.
ඕර්ලේඩ්

අදාළ තර්කනය setuptoolsවඩා වැදගත් වන්නේ මන්දැයි මම සොයා බැලුවෙමි distutils- සියල්ලට පසු, මොඩියුල ගොඩනැඟීම මූලික ක්‍රියාකාරිත්වය වන අතර එයට අදාළ කේතය ඇත, නමුත් එහි පැරණි අනුවාදයකි. පෙනෙන ආකාරයට distutilsනඩත්තු කරන්නන් හැකි සෑම එම්එස්එස්ඩීකේ විචල්‍යතාවන්ට සහය දැක්වීම අතහැර දමා setuptoolsවඩාත් උනන්දුවෙන් සිටි ඔවුන්ගේ සගයන් වෙත මෙම කාර්යය භාර දුන්හ .
ivan_pozdeev

1
@ivan_pozdeev: පයිතන් මුදා හැරීමේ චක්‍රයට ඇතුළත් setuptoolsකළ හැකි ප්‍රමාණයට වඩා බොහෝ විට distutilsමුදා හැරිය හැක. හා distitutilsඇත්ත වශයෙන්ම එය වෙනුවට ස්ටීවන් ස්පීල්බර්ග් නව පද්ධති මත වැඩ, ආකාරයේ නඩත්තු මාතය වෙත ගොස් ඇත. ඒ වෙනුවට එම කාර්යය නතර විය.
මාර්ටිජන් පීටර්ස්

cython distutils භාවිතා කරයි, ඔබ විසින් වඳුරන්-පැල්ලම් කරන setuptools ආනයනය කළ යුතුය: github.com/cython/cython/wiki/CythonExtensionsOnWindows
denfromufa

55

මට මේ ප්‍රශ්නයම තිබුනා, ඒ නිසා මම මගේ කතාව මෙහි කියන්නම්, එය වෙනත් කෙනෙකුට එකම ගැටළු ඇති කර ගැනීමට උපකාර වන අතර මා ගත කළ පැය දෙක ඉතිරි කර ගන්න:

මට වින්ඩෝස් 7 පෙට්ටියක mingw (g ++ (GCC) 4.6.1) සහ පයිතන් 2.7.3 ඇති අතර මම 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

මෙය විසඳීය: "එක්කෝ මින්ජීඩබ්ලිව් හි තරමක් පැරණි අනුවාදයක් ස්ථාපනය කරන්න, නැතහොත් ඩිමියුටිල්ස් සංස්කරණය කරන්න \ සයිග්වින්කොම්පයිලර්.පී ඔබේ පයිතන් නාමාවලියෙහි -මෝ-සිග්වින් හි සියලු අවස්ථා ඉවත් කිරීමට." ( මෙතැන් සිට )

දැන්, මට අවසානයේ වැඩ ආරම්භ කළ හැකිය.


7
ඔබට පයිතන් පුස්තකාලයේ MinGW- අනුකූල අනුවාදයක් ද අවශ්‍ය වේ. වැඩි විස්තර සඳහා eli.thegreenplace.net/2008/06/28/… බලන්න
ගිලි


23

එය VC සම්පාදකයින් සොයන බවක් පෙනේ, එබැවින් ඔබට -c mingw32msys ඇති බැවින් ඔබට සම්පාදක වර්ගය සඳහන් කිරීමට උත්සාහ කළ හැකිය

python setup.py install -c mingw32

16
පැහැදිලි කිරීම සඳහා, ක්‍රියාත්මක වන විධානය: python setup.py build --compiler=mingw32අනුගමනය කරන්නේpython setup.py install
එමිල් ස්ටෙන්ස්ට්‍රෝම්

Python setup.py build ධාවනය කිරීමෙන් පසු --compiler = mingw32 මට ආනයන දෝෂය: සයිතන් නම් ඩිස්ටියුටිල්ස් නම් මොඩියුලයක් නොමැත. යෝජනා තිබේද?
සෙරන්ඩිපිටි

20

මට පයිතන් 2.73 සහ වින්ඩෝස් 7 ඇත .මම වැඩ කළ විසඳුම වූයේ:

  1. Mingw32 හි බින් නාමාවලිය පරිසර විචල්‍යයට එක් කරන ලදි: PATH සමඟ එකතු කරන්නC:\programs\mingw\bin;
  2. නිර්මාණය distutils.cfg පිහිටා C:\Python27\Lib\distutils\distutils.cfgඅඩංගු:

    [build]
    compiler=mingw32

MinGW තවදුරටත් -mno-cygwin ධජය හඳුනා නොගැනීම සමඟ කටයුතු කිරීම සඳහා, C: y Python27 \ Lib \ distutils \ cygwincompiler.py පේළියේ 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. Http://aka.ms/vcpython27 වෙතින් පයිතන් 2.7 සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ සම්පාදකය

  2. භාවිතා කරන පැරණි පැකේජයකි distutils.core.setup()

  3. python setup.py buildභාවිතා කරනවාට වඩා කිරීමට උත්සාහ කිරීම pip.

ඔබ පයිප්පයේ මෑත සංස්කරණයක් භාවිතා කරන්නේ නම්, එය පැකේජය setup.pyඩිස්ටියුටිල්ස් සඳහා කැඳවූවත්, සෙටප්ටූල් භාවිතා කිරීමට (වඳුරු පැච්) බල කරනු ඇත . කෙසේ වෙතත්, ඔබ පයිප්ප භාවිතා නොකරන්නේ නම් සහ ඒ වෙනුවට සිදු කරන්නේ නම් python setup.py build, ගොඩනැගීමේ ක්‍රියාවලිය භාවිතා කරනු ඇත distutils.core.setup(), එය සම්පාදක ස්ථාපන ස්ථානය ගැන නොදැනේ.


විසඳුමක්

පියවර 1: සුදුසු දෘශ්‍ය C ++ 2008 විධාන විමසුම විවෘත කරන්න

ආරම්භක මෙනුව හෝ ආරම්භක තිරය විවෘත කර "දෘශ්‍ය සී ++ 2008 32-බිට් විධාන විමසුම" (ඔබේ පයිතන් 32-බිට් නම්) හෝ "දෘශ්‍ය සී ++ 2008 64-බිට් විධාන විමසුම" සඳහා සොයන්න (ඔබේ පයිතන් 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 install. ඔබට virtualenv වෙත ස්ථාපනය කිරීමට අවශ්‍ය නම්, ඔබ එය ගොඩනැගීමට පෙර එය සක්‍රිය කරන්න.


<code> python setup.py build </code> වෙනුවට <code> pip </code> භාවිතා කර ඔබේ පැකේජය සෑදිය හැකිය
aronadaal

9

සමහර විට යමෙකුට උනන්දු විය හැකිය, පහත දැක්වෙන්නේ py2exe පැකේජය සඳහා මා වෙනුවෙන් වැඩ කිරීමයි. (මට වින්ඩෝස් 7 64 බිට් සහ අතේ ගෙන යා හැකි පයිතන් 2.7, වින්ඩෝස් 7 සහ .නෙට් රාමු 4 සඳහා වින්ඩෝස් එස්ඩීකේ සමඟ විෂුවල් ස්ටුඩියෝ 2005 එක්ස්ප්‍රස් ඇත)

set VS90COMNTOOLS=%VS80COMNTOOLS%

එවිට:

python.exe setup.py install

නෑ, ඔයා හරි, මට විශ්වාස නෑ මොකද උනේ කියලා, මම මුල් අදහස මකා දමමි.
ඩේව් චලිස්

1
ඉතා ප්‍රයෝජනවත් !! මගේ නඩුවේදී, මම 'VS90COMNTOOLS =% VS110COMNTOOLS%' සකසා ඇත.
jrvidotti

X එක්සයිල්: ඔව්, ඔබ මෙම විධානයන් එකම විධාන විමසුමේදී ටයිප් කරන්න
ස්ටෙෆානෝ ෆෙනු

මෙය නොකරන්න !!! බලන්න මේ පිළිතුර වැඩි විස්තර සඳහා.
නිර්නාමික

8

මගේ පයිතන් 3.4 64 බිට් අනුවාදයේ මෙම ගැටළුව විසඳන්නේ කෙසේදැයි සොයා බැලීමට මම දින 2 කට ආසන්න කාලයක් ගත කළෙමි: පයිතන් 3.4.3 (v3.4.3: 9b73f1c3e601, පෙබරවාරි 24, 2015, 22:44:40) [MSC v.1600 64 bit (AMD64) )] win32 මත

විසඳුම 1, අමාරුයි: (මෙය කියවීමට පෙර පළමු විසඳුම 2 පහත කියවන්න) අවසාන වශයෙන්, මෙය මට උදව් වූයේ:

  1. Visual C ++ 2010 Express ස්ථාපනය කරන්න
  2. වින්ඩෝස් 7 සඳහා Microsoft Windows SDK v7.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. (මෙම විකල්ප බව පෙනේ) ස්ථාපනය මයික්රොසොෆ්ට් විෂුවල් ස්ටුඩියෝ 2010 සර්විස් පැක් 1 සමග එක්ව මයික්රොසොෆ්ට් විෂුවල් C ++ 2010 වින්ඩෝස් SDK 7.1 සඳහා සර්විස් පැක් 1 Compiler යාවත්කාලීන
  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විධානයෙන් පසු මගේ avast ප්‍රති-වයිරස ස්ථාපන ක්‍රියාවලියට බාධා කිරීමට උත්සාහ කළ නමුත් මම එය ඉක්මනින් අක්‍රිය කළෙමි

එය සෑහෙන කාලයක් ගත විය - අංකනය සම්පාදනය කිරීමට මිනිත්තු කිහිපයක්, මම සිතුවේ දෝෂයක් ඇති බවය, නමුත් අවසානයේ සියල්ල හරි ය.

විසඳුම 2, පහසු: (මම ඉතා ඡන්දය දී මෙම ප්රවේශය දැනටමත් සඳහන් කර ඇති කියලා පිළිතුර , නමුත් එය ඇත්තටම පහසු වන බැවින්, මා නැවත ඉඩ දෙන්න) මෙම කටයුතු සියල්ල හරහා ගමන් කිරීමෙන් පසු මම මා වෙනුවෙන් හොඳම ක්රමය පමණක් දැනටමත් භාවිතා කිරීමට බව අවබෝධ කර අනාගතයේදී http://www.lfd.uci.edu/~gohlke/pythonlibs/ වෙතින් පෙර සැකසූ ද්විමය . මෙම වෙබ් අඩවියේ අඩංගු නොවන යම් පැකේජයක් (හෝ පැකේජයක අනුවාදයක්) මට අවශ්‍ය වීමට ඉතා සුළු අවස්ථාවක් තිබේ. ස්ථාපන ක්‍රියාවලිය ද මේ ආකාරයෙන් වේගවත් ය. උදාහරණයක් ලෙස, ස්ථාපනය කිරීමට numpy:

  1. donwload numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whlඑම වෙබ් අඩවියෙන් (ඔබට පයිතන් 3.4 64-බිට් තිබේ නම්) කරන්න
  2. විධාන විමසුමේදී හෝ පවර්ෂෙල් එය පයිප්පයකින් ස්ථාපනය කරන්න pip install numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl(හෝ විධාන විමසුම විවෘත වන ආකාරය අනුව ගොනුවට සම්පූර්ණ මාර්ගය)

numpy ‑ 1.9.2 + mkl ‑ cp34 ‑ none ‑ win_amd64.whl - ඉහත සබැඳියෙන් මෙම ගොනුව සොයාගත නොහැක.
අම්රෙෂ් ගිරි

7

මට පයිතන් 2.7 යටතේ වින්ඩෝස් 10 හි pysph ධාවනය කිරීමට අවශ්‍ය වූ අතර vcvarsall.bat සොයා ගැනීමට නොහැකි විය (distutils වෙතින්)

මගේ විසඳුම වූයේ:

පයිතන් 2.7 සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ ස්ථාපනය කරන්න (මයිකල් යෝජනා කළ පරිදි)

වින්ඩෝස් 10 හි එය ස්ථාපනය කර ඇත (මගේ පරිශීලක නාමය ඇන්ඩ්‍රියාස්):

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

පයිතන් 2.7 සඳහා දෘශ්‍ය C ++ ස්ථාපන මාර්ගයට පරිසර විචල්‍යය VS90COMNTOOLS සකසන්න (ඉහත මාර්ගය බලන්න).

එය තවමත් ක්‍රියා නොකරන්නේ නම්, මොඩියුලයේ වෙනස් කරන්න

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 වාසය කරන්නේ මෙහිදීය (පරීක්ෂා කරන්න, vcvarsall.bat ඔබේ ස්ථාපනයේ කොතැනද).


සිත්ගන්නා කරුණ %userprofile%\Appdata\Local\Programs\Commonනම් මට හිස් ය.
බ්‍රයිස් ගින්ටා

පයිතන් 2.7 සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ ස්ථාපනය කිරීමෙන් පසුවද?
ප්‍රධානියා

7

මගේ පයිතන් 3.5 හි අංක පුස්තකාලය ස්ථාපනය කිරීමට උත්සාහ කරන විට මට මෙම ගැටළුව ඇතිවිය. විසඳුම VS2015 ස්ථාපනය කිරීමයි. මා සතුව VS2008, 2012, 2013, ඒ කිසිවක් පයිතන් 3.5 සමඟ නොගැලපේ. පෙනෙන විදිහට නවතම පයිතන් අනුවාදය VS හි නවතම අනුවාදයන් මත රඳා පවතී.

දෘශ්‍ය ස්ටුඩියෝ සමඟ C ++ පොදු මෙවලම් ස්ථාපනය කර ඇති බවට වග බලා ගන්න.

රූප විස්තරය මෙහි ඇතුළත් කරන්න


6

මම ඉහත පිළිතුරු සියල්ලම අත්හදා බැලූ අතර, ඒවා සියල්ලම ක්‍රියාත්මක නොවන බව මට පෙනී ගියේය, මෙය සමහර විට මම වින්ඩෝස් 8 භාවිතා කරමින් දෘශ්‍ය ස්ටුඩියෝ 2012 ස්ථාපනය කර ඇත. මේ අවස්ථාවේ දී, ඔබ කරන්නේ මෙයයි.

මෙම 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 වෙතින් නොමිලේ දෘශ්‍ය සී ++ 2008 එක්ස්ප්‍රස් සංස්කරණය බාගත කළ හැකිය. , එමඟින් ස්ථාපනය අතරතුර VS90COMNTOOLS පරිසර විචල්‍යය සැකසෙනු ඇති අතර එම නිසා අනුකූල සම්පාදකයෙකු සමඟ ගොඩනගා ගත හැකිය.

IotPiotrDobrogost අදහස් දැක්වීමේදී සඳහන් කළ පරිදි, මෙම අනෙක් ප්‍රශ්නයට ඔහු දුන් පිළිතුර දෘශ්‍ය C ++ 2008 සමඟ ගොඩනගා ගැනීමට සුදුසුම දේ වන්නේ ඇයිද යන්න පිළිබඳ විස්තර වෙත යයි, නමුත් පයිතන් හි වින්ඩෝස් ගොඩනැගීම දෘශ්‍ය ස්ටුඩියෝ හි නව සංස්කරණ වෙත ගමන් කරන විට මෙය වෙනස් විය හැකිය: lxml ගොඩනැගීම වින්ඩෝස් හි පයිතන් 2.7 සඳහා


වෙනත් අනුවාදයන් ස්ථාපනය කර නොමැති බවට වග බලා ගන්න. මට මේ සමඟ අමාරු කාලයක් තිබුණා. මම පරිගණකය නැවත ආකෘතිකරණය කර මෙම අනුවාදය ස්ථාපනය කළෙමි. වීඑස් හි බහු සංස්කරණ ඉවත් කිරීම මට බොහෝ කාලයක් ගතවනු ඇත.
jmunsch

6

වින්ඩෝස් 7 x64 හි පයිතන් 3.4.1 භාවිතා කිරීම මට මෙම ගැටළුව ඇති අතර, අවාසනාවකට මට අවශ්‍ය ඇසුරුම්වල මට භාවිතා කළ හැකි සුදුසු exe හෝ රෝද නොමැත. මෙම පද්ධතියට 'වැඩකරන' කිහිපයක් අවශ්‍ය වන අතර ඒවා පහත විස්තර කර ඇත (සහ පහළින් TLDR ).

ඉහත ජැක්ස්ටෙක්ගේ පිළිතුරේ ඇති තොරතුරු භාවිතා කරමින් , මට අවශ්‍ය වූයේ දෘශ්‍ය ස්ටුඩියෝ සී ++ 2010 (sys.version return MSC v.1600), එබැවින් මම ඔහුගේ පිළිතුරේ ඇති සබැඳියෙන් විෂුවල් සී ++ 2010 එක්ස්ප්‍රස් ස්ථාපනය කළෙමි, එය http://go.microsoft .com /? linkid = 9709949 . මම සෑම දෙයක්ම යාවත්කාලීන කිරීම් සමඟ ස්ථාපනය කළෙමි, නමුත් ඔබට පහත කියවිය හැකි පරිදි මෙය වැරැද්දකි. මෙම අවස්ථාවේදී ස්ථාපනය කළ යුත්තේ එක්ස්ප්‍රස් හි මුල් පිටපත පමණි (යාවත්කාලීන කිසිවක් නැත).

vcvarsall.bat දැන් තිබී ඇත, නමුත් පැකේජය ස්ථාපනය කිරීමේදී නව දෝෂයක් ඇතිවිය , query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path']. පයිතන් 2.7 සඳහා සී මොඩියුලය තැනීමේදී / ස්ථාපනය කිරීමේදී දෝෂ වැනි මෙම දෝෂය සමඟ තවත් ස්ටක් ඕවර් ප්‍රවාහ ප්‍රශ්න තිබේ.

2010 එක්ස්ප්‍රස් මඟින් ස්ථාපනය කරන්නේ බිට් 32 සම්පාදක පමණක් බව මම එම පිළිතුරෙන් තීරණය කළෙමි. 64-බිට් (සහ වෙනත්) සම්පාදකයින් ලබා ගැනීම සඳහා, ඔබ වින්ඩෝස් 7.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 නැවත බෙදාහැරීමේ නව සංස්කරණ ස්ථාපනය කර ඇත්නම්, ඒවා SDK ස්ථාපකයේ ඇති ඒවා සමඟ ගැටෙන අතර පළමුව අස්ථාපනය කිරීම අවශ්‍ය වේ.

SDK පසුව ස්ථාපනය කර ඇත, නමුත් vcvars64.bat තවමත් C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\binඑහි හෝ එහි උප ෆෝල්ඩරවල නොමැති බව මම දුටුවෙමි . vcvarsall.bat vcvars64 batch ගොනුව ධාවනය කරයි, එබැවින් එය නොමැතිව පයිතන් පැකේජය තවමත් ස්ථාපනය නොවේ (මේ අවස්ථාවේ පෙන්වා ඇති දෝෂය මට අමතක විය).

පසුව මම මෙහි උපදෙස් කිහිපයක් සොයා ගතිමි: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Download_VS_2010_and_Windows_SDK_7.1 උපදෙස් අනුව, මම දැනටමත් එක්ස්ප්‍රස් සහ 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 අමතර බාගත කිරීම අවශ්‍ය නොවේ.

64-බිට් සම්පාදකයින් සඳහා ඔබට වින්ඩෝස් එස්ඩීකේ (දැනට 7.1) අවශ්‍ය වනු ඇත - ඔබට සම්පූර්ණ සහය නොදක්වන 32-බිට් පමණක් සෑදීම අවශ්‍ය නම් මිස ...

http://www.microsoft.com/en-us/download/details.aspx?id=8279 මෙය බාගත කිරීම සඳහා හොඳ ආරම්භක ලක්ෂ්‍යයකි - බාගත කළ විට ඔබට windk_web.exe ධාවනය කිරීමට අවශ්‍ය වනු ඇත!

මෙහි පෙරනිමි ස්ථාපනය හොඳයි.

අවසාන වශයෙන්, වින්ඩෝස් SDK 7.1 SP1 යාවත්කාලීන බාගත කර ස්ථාපනය කරන්න: 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 එක්ස්ප්‍රස් සඳහා නැතිවූ කණ්ඩායම් ගොනුව සවි කරන්න. මෙය විකාරයකි.

C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64, පහත සඳහන් දෑ සමඟ "vcvars64.bat" සාදන්න (ඔබ පරිපාලක ලෙස ක්‍රියාත්මක වීමට අවශ්‍ය වනු ඇත):

අමතන්න setenv / x64

මගේ පයිතන් පැකේජය තවමත් ස්ථාපනය කර නැත (දෝෂය සිහිපත් කළ නොහැක). විශේෂ SDK 7.1 විධාන විමසුම භාවිතා කිරීම සඳහා උපදෙස් කිහිපයක් (පහත පිටපත් කර ඇත), පසුව බලන්න: https://mail.python.org/pipermail/distutils-sig/2012- පෙබරවාරි / 018300.html

මෙම ප්‍රශ්නයට කමක් නැත. මෙනුවේ මෙම අයිතමය කවුරුහරි දුටුවේය: ආරම්භක-> සියලුම වැඩසටහන්-> මයික්‍රොසොෆ්ට් වින්ඩෝස් එස්ඩීකේ v7.1 -> වින්ඩෝස් එස්ඩීකේ 7.1 විධාන විමසුම

මෙය සම්පාදකයා සඳහා වැඩ කරන පරිසරයක් සැකසෙන කණ්ඩායම් කාර්යයක් ක්‍රියාත්මක කරයි. එම විමසුමෙන් ඔබට "setup.py build" හෝ "setup.py install" ටයිප් කළ හැකිය.

මම උපදෙස් පරිදි වින්ඩෝස් එස්ඩීකේ 7.1 විධාන විමසුම විවෘත කළ අතර එය පයිතන් පැකේජයේ පහසු_ ස්ථාපනය කිරීම සඳහා භාවිතා කළෙමි. අවසානයේ, සාර්ථකත්වය!


ටීඑල්ඩීආර් ;

  1. විෂුවල් ස්ටුඩියෝ එක්ස්ප්‍රස් 2010 ස්ථාපනය කරන්න (යාවත්කාලීන කළ නැවත බෙදාහැරීම් හෝ SQL සේවාදායකයක් නොමැතිව).
  2. වින්ඩෝස් 7.1 SDK ස්ථාපනය කරන්න
  3. SDK 7.1 SP1 යාවත්කාලීන කිරීම සහ VS2010 SP1 ශීර්ෂ ගොනු නිවැරදි කිරීම ස්ථාපනය කරන්න (මෙම පියවර අවශ්‍ය නොවනු ඇත).
  4. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.batඅන්තර්ගතය සමඟ අතින් සාදන්නCALL setenv /x64
  5. ආරම්භක-> සියලුම වැඩසටහන්-> මයික්‍රොසොෆ්ට් වින්ඩෝස් එස්ඩීකේ v7.1 -> වින්ඩෝස් එස්ඩීකේ 7.1 විධාන විශේෂ x64 විධාන විමසුමක් විවෘත කිරීමට විමසන්න, එය පයිතන් / ඊසි_ඉන්ස්ටෝල් / පයිප් / යනාදිය සමඟ භාවිතා කළ හැකිය (අතථ්‍ය_එන්වී ඇතුළු).

4

පියවරෙන් පියවර මට මෙම ගැටළුව විසඳා ඇත, මම උත්සාහ කළේ සයිතන් දිගුව සමඟ සැකසුම නිර්මාණය කිරීමට ය.

  1. පයිතන් 2.7 සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ සම්පාදකය ස්ථාපනය කරන්න
  2. පෙරනිමි ස්ථාපන ස්ථානය වනුයේ @ C: ers පරිශීලකයින් \ PC-user \ AppData \ දේශීය \ වැඩසටහන් \ පොදු \ මයික්‍රොසොෆ්ට් \ පයිතන් සඳහා දෘශ්‍ය C ++ මෙය සත්‍ය වශයෙන්ම ගැටළුව විසඳනු ඇත, ඉදිරියට යාමට පෙර වරක් පරීක්ෂා කරන්න.
  3. එය අසමත් වුවහොත්, python vcvarsall.bat ගොනුව සඳහා VC ++ හි කොතැනදැයි පරීක්ෂා කරන්න
  4. නෝට්පෑඩ් හි distutils පැකේජයේ msvc9compiler.py ගොනුව විවෘත කරන්න.
  5. මගේ කොටුවේ මෙය @ C: \ Anaconda2 \ Lib \ distutils \ msvc9compiler.py find_vcvarsall මෙම ගොනුවේ ක්‍රියාකාරීත්වය, අනුවාද පරාමිතිය මුද්‍රණය කිරීමෙන් VC හි අනුවාදය තීරණය කරන්න. පයිතන් 2.7 සඳහා එය 9.0 ක් විය හැකිය
  6. දැන් C: ers පරිශීලකයින් \ PC- පරිශීලක \ AppData \ දේශීය \ වැඩසටහන් \ පොදු \ මයික්‍රොසොෆ්ට් \ දෘශ්‍ය C ++ පයිතන් \ 9.0 \ VC \ බින් වෙත යොමු කරමින් පරිසර විචල්‍ය VS90COMNTOOLS සාදන්න.
  7. කිසියම් හේතුවක් නිසා vcvarsall.bat ගොනුව VC dir තුළ තිබිය යුතු යැයි distutils අපේක්ෂා කරයි, නමුත් පයිතන් මෙවලම් සඳහා VC ++ එය 9.0 හි මූලයේ ඇත. මෙය නිවැරදි කිරීම සඳහා, "VC" මාර්ගයෙන් ඉවත් කරන්න. සම්බන්ධ වන්න (දළ වශයෙන් 247 පේළිය වටා)

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

ඉහත පියවරයන් මට ගැටලුව විසඳීය.


ඉහත පියවර අනුගමනය කිරීමේදී මට සම්බන්ධක දෝෂයක් ඇතිවේ LINK: දෝෂය LNK2001: නොවිසඳුනු බාහිර සංකේතය init__init__ build \ temp.win-amd64-2.7 \ Release_ init_ .lib: මාරක දෝෂය LNK1120: 1 නොවිසඳුනු බාහිර දෝෂය: විධානය 'C: ers පරිශීලකයින් \\ ma306477 \\ ඇප් ඩේටා \\ දේශීය \\ වැඩසටහන් \\ පොදු \\ මයික්‍රොසොෆ්ට් \\ පයිතන් සඳහා දෘශ්‍ය සී ++ \\ 9.0 \\ වීසී \\ බින් \\ ඇම්ඩී 64 \\ link.exe 'පිටවීමේ තත්වය සමඟ අසමත් විය 1120
මනීෂ් ප්‍රසාද්

4

විෂුවල් සී ++ 2015 බිල්ඩ් මෙවලම් බාගත කර ස්ථාපනය කිරීමට මෙම සබැඳිය භාවිතා කරන්න . එය ඇත්ත වශයෙන්ම විෂුවල් ස්ටුඩියෝ ස්ථාපනය නොකර දෘශ්‍ය සී ++ 14.0 ස්වයංක්‍රීයව බාගත visualcppbuildtools_full.exeකර ස්ථාපනය කරනු ඇත . ස්ථාපනය අවසන් වූ පසු, නල ස්ථාපනය නැවත උත්සාහ කරන්න, එවිට ඔබට නැවත දෝෂය නොලැබෙනු ඇත.

මම පහත වේදිකාව සහ අනුවාදයන් මත එය පරීක්ෂා කර ඇත්තෙමි:

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

මම සියල්ල ස්ථාපනය කරනවාද නැත්නම් ස්ථාපනය අභිරුචිකරණය කළ යුතුද?
Idonknow

DInoknow සම්පූර්ණ දෘශ්‍ය චිත්‍රාගාරය ස්ථාපනය කිරීමට අවශ්‍ය නැත, ඔබට ඉහත සපයා ඇති සබැඳියෙන් දෘශ්‍ය C ++ බාගත කර ස්ථාපනය කළ යුතුය.
ලලිත් කුමාර් බී

3

මම බොහෝ විසඳුම් අත්හදා බැලූ නමුත් මයික්‍රොසොෆ්ට් විෂුවල් ස්ටුඩියෝ 2008 එක්ස්ප්‍රස් සී ++ ස්ථාපනය කිරීම සඳහා එක් අයෙකු පමණක් වැඩ කළේය .

සී (yEnc, එම්එස් වීඑස් සමඟ වෙනත් ගැටළු ඇති) ලියා ඇති පයිතන් 2.7 මොඩියුලයක් සමඟ මට මෙම ගැටළුව ලැබුණි. පයිතන් 2.7 නිපදවා ඇත්තේ 2010 නොව MS VS 2008 අනුවාදය සමඟ බව සලකන්න!

එම්එස් වීඑස් 2010 ප්‍රවර්ධනය කරන බැවින් එය සොයා ගැනීම තරමක් අපහසුය. තවමත්, එම්එස්ඩීඑන් නිල සෘජු සබැඳි තවමත් ක්‍රියාත්මක වේ: බාගත කිරීමේ සබැඳි සඳහා https://stackoverflow.com/a/15319069/2227298 පරීක්ෂා කරන්න.


ඔව්, හොඳම ක්‍රමය VS2008 ස්ථාපනය කිරීමයි.
පයිලෝවර්

3

ඔබ mingw ස්ථාපනය කර ඇත්නම්

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

මයික්‍රොසොෆ්ට් වෙනුවට මින්ග් කම්පයිලර් භාවිතයෙන් නළය තැනීමට බල කරයි. වැඩි විස්තර සඳහා https://github.com/pypa/pip/issues/18 බලන්න (අවසාන ලිපිය).


3

Http://www.microsoft.com/en-us/download/details.aspx?id=44266 හි ඇති පයිතන් 2.7 සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ සම්පාදකය විසඳුමක් නොවේද?


මා වෙනුවෙන් වැඩ කළා. පයිප්ප ස්ථාපනය අවසානයේ ඇති දෝෂ පණිවිඩයට මෙම විසඳුම ඇත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

3

ඇමතීම import setuptools විෂුවල් ස්ටුඩියෝ සමඟ අනුකූලතාව බල කිරීම සඳහා වඳුරු පැස්ටල් ඩිස්ටියුටිල් කරනු ඇත. ඇමතුම් vcvars32.batඅතින් අථත්ය පරිසරය පිහිටුවීම් කැමැත්තක් හා සම්පාදක හෙළනවා වෙනත් පොදු වැරදි වැලැක්වීම. VS 2017 සඳහා ගොනුව පිහිටා ඇත

"සී: \ වැඩසටහන් ලිපිගොනු (x86) \ මයික්‍රොසොෆ්ට් විෂුවල් ස්ටුඩියෝ \ 2017 \ ප්‍රජා \ වීසී \ සහායක \ ගොඩනැගීම \ vcvars32.bat"

.Pyx ගොනු .pyd වෙත ඉක්මණින් සම්පාදනය කිරීමට මම භාවිතා කරන සැකසුම් ස්ක්‍රිප්ට් එක මෙන්න: (සටහන: එය තෙවන පාර්ශවීය මොඩියුලය send2trash භාවිතා කරයි

# 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කිරීම සයිතන් සම්පාදනය සඳහා ද උපකාරී වේ.
Basj

ඔබට තව විස්තරාත්මකව විස්තර කළ හැකිද? vcvars32.bat අතින් අමතන්නේ කෙසේද? මට සයිතන් සම්පාදනය ඇත
ජුනි වැන්ග්

pip install --upgrade setuptoolsවිෂුවල් සී ++ ගොඩනැගීමේ මෙවලම් ස්ථාපනය කිරීමෙන් පසුව ධාවනය කිරීම මට වැඩ කරයි.
අයිවන් කරජාස්

2

එය ප්‍රමාද වැඩියදැයි මම නොදනිමි, නමුත් කියවන පයිතන් 2.7 සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ සම්පාදකය මට හමු විය

ඔබට මෙම සම්පාදක පැකේජය අවශ්‍ය නම් ඔබට ලැබෙන සාමාන්‍ය දෝෂ පණිවිඩය vcvarsall.bat සොයාගත නොහැක

මෙය උපකාරී වේ යැයි සිතමු!


2

මට එකම ගැටලුව ඇති අතර එය මේ මොහොතේ විසඳා ඇත.

"ගූගල්" මට පැවසුවේ "පයිතන් 2.7 සඳහා මයික්‍රොසොෆ්ට් විෂුවල් සී ++ සම්පාදකය" ස්ථාපනය කළ යුතු බවයි. මම මෙවලම පමණක් නොව, දෘශ්‍ය C ++ 2008 නැවත බෙදාහැරිය හැකි ද ස්ථාපනය කරමි, නමුත් එය උදව් කළේ නැත. මම පසුව දෘශ්‍ය සී ++ 2008 එක්ස්ප්‍රස් සංස්කරණය ස්ථාපනය කිරීමට උත්සාහ කළෙමි. ගැටලුව පහව ගොස් ඇත!

විෂුවල් සී ++ 2008 එක්ස්ප්‍රස් සංස්කරණය ස්ථාපනය කිරීමට උත්සාහ කරන්න!


1

ඔබ වින්ඩෝස් පෙට්ටියක pyodbc ස්ථාපනය කිරීමට බලාපොරොත්තු වන්නේ නම් එය එසේ නොවේවිෂුවල් ස්ටුඩියෝ ස්ථාපනය කර තවත් විකල්පයක් වන්නේ ද්විමය ව්‍යාප්තිය භාවිතයෙන් pyodbc අතින් ස්ථාපනය කිරීමයි.

ඔබ වැඩ කරන යන්ත්‍රයේ පරිපාලක වරප්‍රසාද නොමැති නම් සහ virtualenv එකක් සැකසීමට උත්සාහ කරන්නේ නම් මෙය විශේෂයෙන් ප්‍රයෝජනවත් වේ .

පියවර:

  1. නවතම වින්ඩෝස් ස්ථාපකය මෙතැනින් බාගන්න (pyodbc-XXXwin-Y-py2.7.exe)
  2. 7-Zip (හෝ WinRAR හෝ වෙනත්) භාවිතයෙන් ක්‍රියාත්මක කළ හැකි ස්ථාපකය විවෘත කරන්න.
  3. Pyodbc.pyd සහ pyodbc-XXX-py2.7.egg-info උපුටා ගෙන ඒවා ස්ථානගත කරන්න [python installation directory or virtualenv]\Lib\site-packages
  4. පියවර 4 ක් නොමැත :)

1

පයිතන් 3.4 සමඟ යැපීම විෂුවල් ස්ටුඩියෝ 2010 මත රඳා පවතී. දෘශ්‍ය සී ++ 2010 එක්ස්ප්‍රස් ස්ථාපනය කිරීම මට ගැටලුව විසඳීය.

වීඑස් 2008 හෝ 2013 ස්ථාපනය කිරීම සඳහා එය පොළඹවා ගැනීම මා වැඩ නොකළ බව ස්ථාපනය කරයි.



1

@Monkey විසින් දෙන ලද පිළිතුර නිවැරදි එකක් වන නමුත් එය අසම්පූර්ණයි.

ඔබ MinGW භාවිතා කිරීමට කැමති නම් , ඔබ "make.exe" ලබා ගැනීම සඳහා MinGW ස්ථාපන ක්‍රියාවලියේදී යෝජනා කරන ලද C, C ++ සහ වෙනත් සංවර්ධන මෙවලම් තෝරා ගත යුතුය.

Env හි make.exe සඳහා මාර්ගය සකසා තිබිය යුතුය.

ඔහුගේ පිළිතුර සම්පූර්ණ කිරීම සඳහා, මෙන්න පියවර:

  1. ඔබේ පරිසර විචල්‍යයන්ට mingw32 හි බින් නාමාවලිය එක් කරන්න
  2. ඇතුලත් C:\Programs\MinGW\bin;C:\Programs\MinGW\msys\1.0\bin;මාවතට
  3. distutils.cfgගොනුව පිහිටා ඇති සංස්කරණය කරන්න (එය නොපවතී නම් සාදන්න) C:\Python26\Lib\distutils\distutils.cfg:

    [build]
    compiler=mingw32

නව cmd.exe විවෘත කිරීමෙන් පරිසර විචල්‍යයන් සකසා ඇති බවට වග බලා ගන්න.


බිට් 32 පයිතන් මොඩියුල 32 බිට් මින්ග් සමඟ සම්පාදනය කළ යුතු අතර බිට් 64 පයිතන් මොඩියුල බිට් 64 මින්ග් සමඟ සම්පාදනය කළ යුතුය. සිග්වින් 64 බිට් මත, මින්ග්ව් ක්‍රියාත්මක කළ හැකි 2 ක් ඇත: x86_64-w64-mingw32-gccසහ i686-w64-mingw32-gcc. මෙම ක්‍රියාත්මක කළ හැකි දේ සාමාන්‍යයෙන් මින්ග්ව් වෙතින් ඔබට ලැබෙන ඒවාට සමාන වේ (සිග්වින් පරිසරයක් තුළ සම්පාදනය කර ඇත).
CMCDragonkai
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.