Как использовать 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
Searching for winpexpect
Best match: winpexpect 1.4
Processing winpexpect-1.4-py2.7.egg
winpexpect 1.4 is already the active version in easy-install.pth
Using c:\python27\lib\site-packages\winpexpect-1.4-py2.7.egg
Processing dependencies for winpexpect
Searching for pywin32>=214
Reading http://pypi.python.org/simple/pywin32/
Reading http://sf.net/projects/pywin32
Reading http://sourceforge.net/project/showfiles.php?group_id=78018
No local packages or download links found for pywin32>=214
Best match: None
Traceback (most recent call last):
File "C:\python27\scripts\easy_install-script.py", line 8, in
load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')()
File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1712, in main
with_ei_usage(lambda:
File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1700, in with_ei_usage
return f()
File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1716, in
distclass=DistributionWithoutHelpCommands, **kw
File "C:\python27\lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "C:\python27\lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
File "C:\python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 211, in run
self.easy_install(spec, not self.no_deps)
File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 446, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 481, in install_item
self.process_distribution(spec, dists[0], deps, "Using")
File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 519, in process_distribution
[requirement], self.local_index, self.easy_install
File "C:\python27\lib\site-packages\pkg_resources.py", line 563, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "C:\python27\lib\site-packages\pkg_resources.py", line 799, in best_match
return self.obtain(req, installer) # try and download/install
File "C:\python27\lib\site-packages\pkg_resources.py", line 811, in obtain
return installer(requirement)
File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 434, in easy_install
self.local_index
File "C:\python27\lib\site-packages\setuptools\package_index.py", line 475, in fetch_distribution
return dist.clone(location=self.download(dist.location, tmpdir))
AttributeError: 'NoneType' object has no attribute 'clone'
Ответы
Ответ 1
Одна из проблем заключается в том, что easy_install настроен для загрузки и установки .egg файлов или исходных дистрибутивов (содержится в файлах .tgz,.tar,.tar.gz,.tar.bz2 или .zip). Он не знает, как работать с расширениями PyWin32, потому что они помещаются в отдельный исполняемый файл установщика. Вам нужно будет загрузить соответствующий файл установки PyWin32 (для Python 2.7) и запустить его самостоятельно. Когда вы снова запустите easy_install (если вы установили его правильно, как в инструкциях Sergio), вы должны убедиться, что ваш пакет winpexpect установлен правильно.
Так как это Windows и с открытым исходным кодом, о которых мы говорим, это часто может быть грязной комбинацией методов установки, чтобы заставить вещи работать исправно. Тем не менее, easy_install по-прежнему лучше, чем файлы конфигурации для редактирования вручную.
Ответ 2
Если вы используете 64-битную версию Windows 7, то решение найдено здесь: http://pypi.python.org/pypi/setuptools
а именно, вам нужно загрузить python script, запустите его, а затем easy_install будет нормально работать из командной строки.
P.S. Я согласен с оригинальным плакатом, говорящим, что это должно работать из коробки.
Ответ 3
Я также согласен с OP, что все эти вещи должны прийти с уже установленным Python. Думаю, нам придется иметь дело с этим до тех пор, пока этот день не наступит. Вот решение, которое действительно сработало для меня:
установка easy_install быстрее и проще
Я надеюсь, что это поможет вам или кому-либо с той же проблемой!
Ответ 4
Скопируйте ниже script "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
Ответ 5
Во-первых, он говорит, что у вас уже установлен этот модуль. Если вам нужно его обновить, вы должны сделать что-то вроде этого:
easy_install -U packageName
Конечно, easy_install не очень хорошо работает, если в пакете есть некоторые заголовки C, которые необходимо скомпилировать, и у вас нет нужной версии Visual Studio. Вы можете попробовать использовать pip или распространять вместо easy_install и посмотреть, работают ли они лучше.
Ответ 6
Если вы используете дистрибутив Python от Anaconda,
вы можете установить его через pip
pip install setuptools
а затем выполнить его как модуль
python -m easy_install