У меня была эта проблема при использовании Python 3.4.1 в Windows 7 x64 , и, к сожалению, в необходимых мне пакетах не было подходящего exe или колесика, которые я мог бы использовать. Эта система требует нескольких «обходных путей», которые подробно описаны ниже (и TLDR внизу ).
Используя информацию из ответа Jaxrtech выше , я решил, что мне нужна Visual Studio C ++ 2010 (sys.version return MSC v.1600), поэтому я установил Visual C ++ 2010 Express по ссылке в его ответе, http://go.microsoft.com/?linkid=9709949. Я установил все с обновлениями, но, как вы можете прочитать ниже, это было ошибкой. В настоящее время должна быть установлена только оригинальная версия Express (ничего не обновляется).
vcvarsall.bat теперь присутствовал, но при установке пакета возникла новая ошибка, query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path']
. С этой ошибкой связаны и другие вопросы, связанные с переполнением стека, например Ошибки при сборке / установке модуля C для Python 2.7
Из этого ответа я определил, что в 2010 Express устанавливаются только 32-разрядные компиляторы. Чтобы получить 64-битные (и другие) компиляторы, вам нужно установить Windows 7.1 SDK. Смотри http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
Это не установит для меня, хотя, и установщик возвратил ошибку installation failed with return code 5100
. Я нашел решение по следующей ссылке: http://support.microsoft.com/kb/2717426. Короче говоря, если установлены более новые версии распространяемых пакетов Microsoft Visual C ++ 2010 для x86 и x64, они конфликтуют с теми, которые есть в установщике SDK, и сначала их нужно удалить.
Затем SDK установлен, но я заметил, что vcvars64.bat по-прежнему не существует ни в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
, ни в его подпапках. vcvarsall.bat запускает пакетный файл vcvars64, поэтому без него пакет python все равно не установится (я забыл ошибку, которая была показана в это время).
Затем я нашел здесь несколько инструкций: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Download_VS_2010_and_Windows_SDK_7.1
Следуя инструкциям, я уже установил Express и 7.1 SDK, поэтому установил SDK 7.1 SP1 и исправил отсутствующий файл заголовка. Затем я вручную создал vcvars64.bat с содержанием CALL setenv /x64
. Я вставлю сюда все эти инструкции, чтобы они не потерялись.
Шаг 1 - загрузить Visual Studio Express 2010.
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
это хорошее место для начала. Загрузите установщик и запустите его
(Vc_web.exe). Вам не нужна дополнительная загрузка SQL 2008.
Вам также понадобится Windows SDK (в настоящее время 7.1) для 64-разрядных систем.
компиляторы - если вы не хотите делать только 32-битные сборки, которые не являются
полностью поддерживается ...
http://www.microsoft.com/en-us/download/details.aspx?id=8279 - это хорошо
отправная точка, чтобы загрузить это - вы захотите запустить winsdk_web.exe
при загрузке!
Установка по умолчанию здесь просто прекрасна.
Наконец, загрузите и установите обновление Windows 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 Express. это
становится совершенно абсурдным.
В C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64,
создайте "vcvars64.bat" со следующим (вам нужно будет запустить
как администратор):
CALL setenv / x64
Мой пакет python все еще не установлен (ошибка не может вспомнить). Затем я нашел несколько инструкций (скопированных ниже) для использования специальной командной строки SDK 7.1, см .: https://mail.python.org/pipermail/distutils-sig/2012-February/018300.html
Не обращайте внимания на этот вопрос. Кто-то здесь заметил этот пункт в меню: Пуск-> Все программы-> Microsoft Windows SDK v7.1 -> Командная строка Windows SDK 7.1
Это запускает пакетное задание, которое, похоже, устанавливает рабочую среду для компилятора. В этом приглашении вы можете ввести «setup.py build» или «setup.py install».
Я открыл командную строку Windows SDK 7.1 в соответствии с инструкциями и использовал ее для запуска easy_install в пакете python. И наконец, успехов!
TLDR ;
- Установите Visual Studio Express 2010 (желательно без обновленных распространяемых файлов или сервера SQL).
- Установка Windows 7.1 SDK
- Установка пакета обновления SDK 7.1 SP1 и исправление файла заголовка VS2010 SP1 (этот шаг может не потребоваться).
- Создать вручную
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
с контентом CALL setenv /x64
- Пуск-> Все программы-> Microsoft Windows SDK v7.1 -> Windows SDK 7.1 Командная строка, чтобы открыть специальную командную строку x64, которую затем можно использовать с python / easy_install / pip / etc (включая те, которые находятся в virtual_envs).