Как использовать Python "easy_install" в Windows ... это не так просто
После установки Python 2.7 в Windows XP, затем вручную установите %PATH%
в python.exe
(почему установщик python этого не делает?), затем установка setuptools 0.6c11
(почему установщик python этого не делает?), затем вручную устанавливает %PATH%
в easy_install.exe
(почему установщик не делает этого?), я наконец попытался установить пакет python с easy_install
, но easy_install
не удалось, когда не удалось установить пакет pywin32, что является зависимостью. Как я могу заставить easy_install правильно работать в Windows XP? Отказ следует:
C: \> easy_install winpexpect В поисках winpexpect Лучший матч: winpexpect 1.4 Обработка winpexpect-1.4-py2.7.egg winpexpect 1.4 уже активная версия в easy-install.pth Использование c:\python27\lib\site-packages\winpexpect-1.4-py2.7.egg Обработка зависимостей для winpexpect Поиск pywin32>=214 Чтение http://pypi.python.org/simple/pywin32/ Чтение http://sf.net/projects/pywin32 Чтение http://sourceforge.net/project/showfiles.php?group_id=78018 Не найдено локальных пакетов или ссылок для загрузки для pywin32>=214 Лучший матч: нет Traceback (последний вызов был последним): Файл "C:\python27\scripts\easy_install-script.py", строка 8, в load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')() Файл "C:\python27\lib\site-packages\setuptools\command\easy_install.py", строка 1712, в основном with_ei_usage(лямбда: Файл "C:\python27\lib\site-packages\setuptools\command\easy_install.py", строка 1700, в with_ei_usage возврат f() Файл "C:\python27\lib\site-packages\setuptools\command\easy_install.py", строка 1716, в distclass=DistributionWithoutHelpCommands, ** кВт Файл "C:\python27\lib\distutils\core.py", строка 152, в настройке dist.run_commands() Файл "C:\python27\lib\distutils\dist.py", строка 953, в run_commands self.run_command(CMD) Файл "C:\python27\lib\distutils\dist.py", строка 972, в run_command cmd_obj.run() Файл "C:\python27\lib\site-packages\setuptools\command\easy_install.py", строка 211, в рабочем состоянии self.easy_install(спецификация, а не self.no_deps) Файл "C:\python27\lib\site-packages\setuptools\command\easy_install.py", строка 446, в easy_install вернуть self.install_item(spec, dist.location, tmpdir, deps) Файл "C:\python27\lib\site-packages\setuptools\command\easy_install.py", строка 481, в install_item self.process_distribution(spec, dists[0], deps, "Using") Файл "C:\python27\lib\site-packages\setuptools\command\easy_install.py", строка 519, в process_distribution [требование], self.local_index, self.easy_install Файл "C:\python27\lib\site-packages\pkg_resources.py", строка 563, в разрешении dist = best[req.key] = env.best_match(req, self, installer) Файл "C:\python27\lib\site-packages\pkg_resources.py", строка 799, в best_match вернуть self.obtain(req, installer) # попробовать и скачать / установить Файл "C:\python27\lib\site-packages\pkg_resources.py", строка 811, в получении вернуть установщика (требование) Файл "C:\python27\lib\site-packages\setuptools\command\easy_install.py", строка 434, в easy_install self.local_index Файл "C:\python27\lib\site-packages\setuptools\package_index.py", строка 475, в fetch_distribution вернуть dist.clone(location=self.download(dist.location, tmpdir)) AttributeError: у объекта 'NoneType' нет атрибута 'клон'
6 ответов
Одна из проблем заключается в том, что easy_install настроен для загрузки и установки файлов.egg или исходных кодов (содержащихся в файлах.tgz, .tar, .tar.gz, .tar.bz2 или.zip). Он не знает, как обращаться с расширениями PyWin32, потому что они помещены в отдельный исполняемый файл установщика. Вам нужно будет загрузить соответствующий файл установщика PyWin32 (для Python 2.7) и запустить его самостоятельно. Когда вы снова запустите easy_install (если вы правильно установили его, как в инструкциях Sergio), вы должны увидеть, что ваш пакет winpexpect установлен правильно.
Поскольку мы говорим о Windows и open source, часто это может быть грязная комбинация методов установки, чтобы все работало правильно. Тем не менее, easy_install все же лучше, чем редактирование файлов конфигурации вручную.
Если вы используете 64-разрядную версию Windows 7, решение можно найти здесь: http://pypi.python.org/pypi/setuptools
а именно, вам нужно скачать скрипт Python, запустить его, и тогда easy_install будет работать нормально из командной строки.
PS Я согласен с оригинальным постером, говорящим, что это должно работать из коробки.
Я также согласен с ФП, что все эти вещи должны поставляться с уже установленным Python. Я думаю, нам придется иметь дело с этим до наступления того дня. Вот решение, которое действительно работает для меня:
установка easy_install быстрее и проще
Я надеюсь, что это поможет вам или кому-либо с той же проблемой!
Скопируйте приведенный ниже скрипт "ez_setup.py" с нижеуказанного URL
https://bootstrap.pypa.io/ez_setup.py
И скопируйте его в свое местоположение Python
C: \ python27>
Запустите команду
C: \ python27? python ez_setup.py
Это установит easy_install в директорию Scripts
C: \ python27\Scripts
Запустите легкую установку из каталога Scripts>
C:\Python27\Scripts> easy_install
Если вы используете дистрибутив Anaconda's Python,
Вы можете установить его через пункт
pip install setuptools
а затем выполнить его как модуль
python -m easy_install
Во-первых, он говорит, что у вас уже установлен этот модуль. Если вам нужно обновить его, вы должны сделать что-то вроде этого:
easy_install -U имя_пакета
Конечно, easy_install не очень хорошо работает, если в пакете есть несколько заголовков C, которые нужно скомпилировать, и у вас не установлена правильная версия Visual Studio. Вы можете попытаться использовать pip или distribution вместо easy_install и посмотреть, работают ли они лучше.