Python 스크립트를 실행할 때 vcvarsall.bat를 찾을 수 없습니다.
저는 Vista에서 작업하고 있으며 Python 2.6.4를 사용하고 있습니다. Python 스크립트를 사용하는 소프트웨어를 사용하고 있지만 메시지에 부딪 혔습니다.
cannot find vcvarsall.bat
그래서 Visual C ++ 2010을 설치했습니다. 그래도 파일을 찾을 수 없지만 거기에 있습니다. 내 생각 엔 (매우 교육받지 못한 것 ...) 어딘가에 경로가 잘못되었다는 것입니다. 왜냐하면 저는 오래된 비주얼 2008 (아주 비어있는) 폴더도 가지고 있기 때문입니다. 새 경로를 어디에서 변경해야할지 모르겠습니다. 레지스트리 나 스크립트에서 무언가를 변경합니까? 아니면 다른 곳?
Python이 Visual Studio 2008을 명시 적으로 찾고있는 것 같습니다. 경로에 있지만 vcvarsall.bat를 찾을 수없는이 문제가 발생했습니다.
Visual Studio 2010은 다음 환경 변수를 생성합니다.
SET VS100COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
수정 사항은라는 변수를 만들고 VS90COMNTOOLS
Visual Studio 2010 공통 도구 폴더를 가리 키도록하는 것입니다.
SET VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
이 문제가 해결되었으며 이제 Visual Studio 2010 컴파일러를 사용하여 패키지를 빌드 할 수 있습니다.
아래 명령을 사용하여 VS100 환경 변수를 가리 키도록 VS90 환경 변수를 설정할 수도 있습니다.
SET VS90COMNTOOLS=%VS100COMNTOOLS%
여기에 간단한 해결책이 있습니다. Python 2.7 및 Windows 7을 사용하고 있습니다.
설치하려는 것은 C / C ++ 컴파일러가 필요하지만 Python이 찾지 못합니다. 많은 Python 패키지는 실제로 C / C ++로 작성되며 컴파일해야합니다. vcvarsall.bat는 C ++를 컴파일하는 데 필요하며 pip는 컴퓨터가이를 수행 할 수 있다고 가정합니다.
v6.0 이상은 컴파일러를 자동으로 감지하므로 먼저 setuptools를 업그레이드하십시오. 이미 컴파일러가 있지만 Python이 찾을 수 없습니다. 명령 줄을 열고 다음을 입력합니다.
pip install --upgrade setuptools
이제 패키지를 다시 설치하십시오.
pip install [yourpackagename]
그래도 작동하지 않으면 컴파일러가없는 것이 확실하므로 하나를 설치해야합니다.
http://www.microsoft.com/en-us/download/details.aspx?id=44266이제 다시 시도하십시오.
pip install [yourpackagename]
그리고 당신은 간다. 그것은 당신을 위해 작동합니다.
이 문제에 대한 해결책은 다음 환경 변수를 설정하는 것입니다.
VS90COMNTOOLS
예를 들면 :
set VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools
이 오류는 Visual Studio를 설치 한 후 다시 부팅하지 않거나 설치 후 새 명령 프롬프트를 시작하지 않기 때문에 발생할 수 있습니다.
또한 확장을 컴파일하는 데 사용할 수있는 Visual Studio 버전은 빌드중인 Python 버전에 따라 달라질 수 있습니다.
에서 2015 , 당신은 여전히이 혼란 오류가있는 경우 비난 파이썬 기본 setuptools에 그 PIP를 사용합니다.
- http://www.microsoft.com/en-in/download/details.aspx?id=44266 에서 Python 2.7 모듈을 컴파일하는 데 필요한 최소 Microsoft Visual C ++ Compiler for Python 2.7을 다운로드하여 설치 합니다 .
- 설정 도구 업데이트-
pip install -U setuptools
- C 컴파일이 필요한 파이썬 패키지를 설치하십시오.
pip install blahblah
잘 작동합니다.
업데이트 : 모든 라이브러리에서 제대로 작동하지 않습니다. lib 헤더가 필요한 몇 가지 모듈에서 여전히 오류가 발생합니다. 완벽하게 작동하는 유일한 것은 Linux 플랫폼입니다.
이 비밀스러운 오류는 C 컴파일러가 설치되지 않았 음을 의미합니다. 더 설명적인 오류를 제안하기위한 토론이 있었지만 ( 여기 에서 계속됩니다 . 관심이 있으시면 등록하고 의견을 남겨주세요!) 현재 아직 구현되지 않았습니다.
이 문제를 해결하려면 약 1GB가 소요되는 Visual Studio 2008 SDK를 설치하거나 매우 작은 VCForPython27.msi를 설치할 수 있지만 현재 distutils에서 잘 지원하지 않는 절차는 다음과 같습니다.
1) install Microsoft Visual C++ Compiler for Python 2.7 from
http://www.microsoft.com/en-us/download/details.aspx?id=44266
2) Enter MSVC for Python command prompt
3) SET DISTUTILS_USE_SDK=1
4) SET MSSdk=1
5) you can then build your C extensions: python.exe setup.py ...
C 확장을 빌드하기 전에 항상 2-4 단계를 재현해야합니다. 이는 헤더 파일과 vcvarsall.bat를 VS2008 SDK와 다른 레이아웃의 폴더에 설치하는 VCForPython27.msi의 문제로 인해 컴파일러에서 distutils 감지를 혼동하기 때문입니다. 이것은 Python 2.7.10의 setuptools에서 수정됩니다.
Gregory Szorc의 버그 보고서 및 해결 방법 : http://bugs.python.org/issue23246
IPython 내에서 %% cython 매직 사용에 대한 추가 정보 및 해결 방법 : https://github.com/cython/cython/wiki/CythonExtensionsOnWindows
/ 편집 : 또한 다른 버전의 Python이있는 경우 Microsoft에서 Python 2.7 용으로 특별히 만든 일종의 미니 컴파일러 인 Python 2.7 용 Microsoft Visual C ++를 사용할 수 없습니다. 이 경우 Python 버전과 일치하는 Visual Studio SDK 또는 올바른 NET 프레임 워크 버전이있는 Windows SDK를 설치해야합니다. 자세한 정보는 여기를 참조하십시오 : https://github.com/cython/cython/wiki/CythonExtensionsOnWindows#using-windows-sdk-cc-compiler-works-for-all-python-versions
이것은 나를 위해 일했습니다 (python 2.6).
설치 free ms visual studio 2008
에서http://www.microsoft.com/visualstudio/en-us/products/2008-editions/express
vcvarsall.bat
에서 "C:\Program Files\Microsoft Visual Studio 9.0\VC>"
로 복사"C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\"
설치 프로그램은 이미 다음 환경 변수를 설정했습니다.
VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\
MS가 여기에 필요한 정확한 패키지를 출시 한 것 같습니다 . 여기 BurnBit . 그것을 설치 한 다음 이 답변 에서 레지스트리 키 를 가리 키도록 설정하십시오.C:\Users\username\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0
Visual C ++를 설치하는 것은 좋은 첫 번째 단계이지만 2010 버전이 작동할지 여부 를 확신 할 수는 없습니다 . 어쨌든 시도해보십시오.
vcvarsall.bat
Visual C ++ 설치 디렉터리를 찾습니다 (Visual Studio 2010의 경우 ProgramFiles\Microsoft Visual Studio 10.0\VC
). 그런 다음 해당 디렉토리를 시스템 경로에 추가하십시오. 명령 줄에서이 작업을 수행하는 경우 다음을 시도 할 수 있습니다.
path %path%;c:\path\to\vs2010\bin
그런 다음 실행하려는 모든 것을 다시 실행하십시오.
더 영구적 인 효과를 얻으 려면 컴퓨터 시스템 경로 설정에 추가하십시오 .
If you had installed Visual studio 2015 by the quick install, vcvarsall.bat is not there. But you can go to programm and fonctionalities, and modify the installation in order to install c++ tools, then vcvarsall.bat will be present.
THIS IS AN UP TO DATE ANSWER FOR WINDOWS USERS - VERY SIMPLE SOLUTION.
As pointed out by other, the problem is that python/cython etc. tries to find the same compiler they were built from, but this compiler does not exist on the computer. Most of the time, this compiler is a version of visual studio (2008, 2010 or 2013), but either such a compiler is not installed, or a newer version is installed and the system prevents from installing an older one. So, the solution is simple:
1) look at C:\Program Files (x86) and see if there is an installed version of Microsoft visual studio, and if it is newer than the version from which Python has been built. If not, install(/update to) the version from which Python has been built (see previous answers), or even a newest version and follow the next step.
2)If a newest version of Microsoft visual studio is already installed, we have to make Python/cython etc. believe that it is the version from which it has been built. And this is very simple: go to the the system environment variables and create the following variables, if they do not exist:
VS100COMNTOOLS
VS110COMNTOOLS
VS120COMNTOOLS
VS140COMNTOOLS
And set the field of these variables to
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools" (if visual studio 2008 is installed), or "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools" (if visual studio 2010 is installed) or "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools" (if visual studio 2013 is installed) or "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools" (if visual studio 2015 is installed).
This solution works for 32 bit versions of python. It may also work for 64 bit version but I've not tested; most probably, for 64 bit versions, the following additional steps must be performed:
3)add the path "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC" to the %PATH% environment variable (change the number of the version of visual studio according to you version).
4) from the command line, run "vcvarsall.bat x86_amd64"
That's all.
After trying every option available on every thread, I decided to dig into the source to find a solution.
Edit your $PythonPath/Lib/distutils/_msvccompiler.py
Find def _find_vcvarsall(plat_spec):
Add as the next line, add
PathToVC=r"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"
return PathToVC, r""
And then make sure your visual studio bin directory is in your path.
If this doesn't work, there are other files you may need to edit including:
- $PythonPath/Lib/distutils/msvc9compiler.py
- $PythonPath/Lib/site-packages/setuptools/msvc9_support.py
I tried the solution here to set an environment variable via the command line, but this didn't work. I did this both from a regular command prompt and from the Visual Studio Developer command prompt.
I could overcome this problem like this:
- go to the Environment variables screen and created a new variable there VS100COMNTOOLS and let it point to my Visual Studio installation folder C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\
- Go to the above folder. Inside this folder there is the file vsvars32.bat. Copy this file and rename it to vsvarsall.bat
My configuration is Visual Studio 2013 (12.0) and Python 3.4.2
Note that there is a very simple solution.
Download the software from http://www.microsoft.com/en-us/download/details.aspx?id=44266 and install it.
Find the installing directory, it is something like "C:\Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python"
Change the directory name "C:\Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0" to "C:\Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\VC"
Add a new environment variable "VS90COMNTOOLS" and its value is "C:\Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\VC\VC"
Now everything is OK.
In case anyone comes here looking for an answer for Python 3.5; you need Visual Studio 2015.
Get Visual Studio 2015 Community here: https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx, this worked for me with no further steps needed.
Many thanks to Ionel, apparently the only place on the web to find this information! http://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/
Install Visual Studio Express 2008 (9.0) from here: http://go.microsoft.com/?linkid=7729279
That's what fixed it for me.
After installation of Visual Studio Community 2015 Edition on Windows 10 64 bit. This error did not go. Then I install Microsoft Visual C++ Compiler for Python 2.7. Since it requires vcvarsall.bat
file. This file is no where in Visual studio Community 2015, but it was in Microsoft Visual C++ Compiler for Python 2.7. I also added its path into my environment variables but it also did not work. Then I un-install python 3.4.2 and deleted all the folders of python, and installed python 2.7. Finally I run pip using powershell and I was able to install my required package i.e. flask-user, by using.
pip install flask-user
There is a confusing edge case for this on windows. If you follow the advice to install the 2007 windows, and you still get this error when doing python setup.py install
directly, then it may be that the setup.py uses the old version of set up tools.
In particular, the code that points windows towards the right location for the windows installed compiler is in the __init__
method of the setuptools library, which means that you must in your setup.py use the setuptools module. Some older setup.py call methods directly from distutils.core
. If this is the case then the setup.py will never find the windows installed compiler. This can be fixed by simply writing import setuptools as the first line of the setup.py file.
Reference: https://bugs.python.org/issue23246: Look about half way down for the quote from steve dower:
Setuptools has the code to find the compiler package. We deliberately put it there instead of in distutils to make sure more people would get it. I should probably port the extra check into 2.7.10, but the immediate fix is to import setuptools.
참고URL : https://stackoverflow.com/questions/2667069/cannot-find-vcvarsall-bat-when-running-a-python-script
'IT Share you' 카테고리의 다른 글
webpack 명령이 작동하지 않습니다. (0) | 2020.12.07 |
---|---|
I18N 안전은 무엇을 의미합니까? (0) | 2020.12.07 |
C ++ 순수 가상 함수에는 본문이 있습니다. (0) | 2020.12.07 |
Python의 클래스 개체에서 새 인스턴스를 만드는 방법 (0) | 2020.12.07 |
트위터 부트 스트랩을 만드는 방법 (0) | 2020.12.07 |