ошибка: команда «cl.exe» не удалась: нет такого файла или каталога Python 3.4

Я пытался установить pyodbc 3.0.7, запустив python setup.py install, но по-прежнему возникают проблемы. В настоящее время я столкнулся со стеной «ошибка: команда« cl.exe »не удалась: нет такого файла или каталога». Я смотрел в Интернете дольше, чем я хотел бы признать, пытаясь понять, что происходит.

Я использую 64-битную версию Python 3.4.

У меня Microsoft Visual Studio 10.0.

Я подтвердил, что vcvarsall.bat находится в папке Program Files (x86)\Microsoft Visual Studio 10.0\VC.

У меня 64-разрядная версия, поэтому я добавил папку amd64 и поместил vcvars64.bat в Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64.

Я подтвердил, что cl.exe находится в Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

Я перезагрузил свой компьютер, чтобы убедиться, что проблема не в этом.

Но когда я пытаюсь установить pyodbc, я получаю следующее

C:\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7>python setup.py install
running install
running bdist_egg
running egg_info
writing pyodbc.egg-info\PKG-INFO
writing top-level names to pyodbc.egg-info\top_level.txt
writing dependency_links to pyodbc.egg-info\dependency_links.txt
reading manifest file 'pyodbc.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'tests\*'
writing manifest file 'pyodbc.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_ext
building 'pyodbc' extension
creating build
creating build\temp.win-amd64-3.4
creating build\temp.win-amd64-3.4\Release
creating build\temp.win-amd64-3.4\Release\Users
creating build\temp.win-amd64-3.4\Release\Users\William
creating build\temp.win-amd64-3.4\Release\Users\William\Downloads
creating build\temp.win-amd64-3.4\Release\Users\William\Downloads\pyodbc-3.0.7
creating build\temp.win-amd64-3.4\Release\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7
creating build\temp.win-amd64-3.4\Release\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7\src
cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DPYODBC_VERSION=3.0.7 -IC:\Python34\include -IC:\Python34\include /TpC:\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7\src\buffer.cpp /Fobuild\temp.win-amd64-3.4\Release\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7\src\buffer.obj /Wall /wd4668 /wd4820 /wd4711 /wd4100 /wd4127 /wd4191
error: command 'cl.exe' failed: No such file or directory

Оттуда, в качестве последнего усилия, я попытался очистить и построить, но получил ту же проблему.

C:\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7>py -3 setup.py clean --all build_ext --force
running clean
removing 'build\temp.win-amd64-3.4' (and everything under it)
'build\lib.win-amd64-3.4' does not exist -- can't clean it
'build\bdist.win-amd64' does not exist -- can't clean it
'build\scripts-3.4' does not exist -- can't clean it
removing 'build'
running build_ext
building 'pyodbc' extension
creating build
creating build\temp.win-amd64-3.4
creating build\temp.win-amd64-3.4\Release
creating build\temp.win-amd64-3.4\Release\Users
creating build\temp.win-amd64-3.4\Release\Users\William
creating build\temp.win-amd64-3.4\Release\Users\William\Downloads
creating build\temp.win-amd64-3.4\Release\Users\William\Downloads\pyodbc-3.0.7
creating build\temp.win-amd64-3.4\Release\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7
creating build\temp.win-amd64-3.4\Release\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7\src
cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DPYODBC_VERSION=3.0.7 -IC:\Python34\include -IC:\Python34\include /TpC:\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7\src\buffer.cpp /Fobuild\temp.win-amd64-3.4\Release\Users\William\Downloads\pyodbc-3.0.7\pyodbc-3.0.7\src\buffer.obj /Wall /wd4668 /wd4820 /wd4711 /wd4100 /wd4127 /wd4191
error: command 'cl.exe' failed: No such file or directory

Я всегда использовал pip, поэтому я не знаком с этим, поэтому, возможно, я сделал что-то не так. Любая помощь, и я был бы вечно благодарен, поскольку я думаю, что исчерпал все ресурсы на данный момент. (Или также подойдет готовая копия pyodbc 3.0.7!)


person Will.Beasley    schedule 23.09.2015    source источник
comment
Я просто удалил теги Python. Простая причина в том, что Python просто пытается вызвать cl.exe (который является компилятором Microsoft), но он не должен работать независимо от того, кто его вызывает. Итак, в основном ваша проблема сводится к тому, что вы не можете запустить cl.exe в командной строке.   -  person Ulrich Eckhardt    schedule 25.12.2018
comment
Возможный дубликат cl.exe' не удалось: Нет такой файл или каталог при установке Scrapy   -  person Ulrich Eckhardt    schedule 25.12.2018


Ответы (2)


Вы, вероятно, пытаетесь собрать по умолчанию Command Prompt. Это не работает.

Вы должны подготовить Command Prompt. Я использовал следующую команду, чтобы получить командную строку с правильными настройками:

C:\Windows\System32\cmd.exe /E:ON /V:ON /T:0E /K "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /RELEASE /x64

Вы можете создать новый ярлык на рабочем столе, чтобы вам не приходилось вводить его, когда вы хотите установить новые модули Python.

Теперь вы можете запустить новый Command Prompt и собрать Python пакетов.

person Tomasz Jakub Rup    schedule 12.11.2015
comment
Ваш подход правильный. Однако я считаю, что правильной настройки можно добиться, просто запустив пакетный скрипт, поставляемый с VS из той же командной строки. Сценарий - это именно тот vcvarsall.bat, который упоминается в вопросе. - person Ulrich Eckhardt; 25.12.2018

Python 3.4 требует Visual Studio 2010 для компиляции таких пакетов, как pyodbc, поэтому, если у вас установлена ​​другая версия, это определенно проблема. Просто переустановите Visual Studio, и все должно работать нормально! https://www.microsoft.com/en-us/download/details.aspx?id=23691 Если у вас все еще есть проблемы, рассмотрите возможность перехода на версию 3.5 или 3.6, которая скоро выйдет!

Надеюсь, это помогло, Стам.

person Stam Kaly    schedule 20.08.2016