Странная ошибка при установке Psyco в Python - PullRequest
1 голос
/ 27 апреля 2010

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

C:\Python26\Downloads\psyco-1.6>easy_install psyco
Searching for psyco
Reading http://pypi.python.org/simple/psyco/
Reading http://psyco.sourceforge.net/
Best match: psyco snapshot
Downloading http://wyvern.cs.uni-duesseldorf.de/psyco/psyco-snapshot.tar.gz
error: Can't download http://wyvern.cs.uni-duesseldorf.de/psyco/psyco-snapshot.t
ar.gz: 404 Not Found

Итак, я скачал последнюю версию 1.6 и сделал "python setup.py install". Я уже использовал его несколько раз без проблем. Я получаю следующие сообщения:

C:\Python26\Downloads\psyco-1.6>python setup.py install
PROCESSOR = 'i386'
running install
running build
running build_py
running build_ext
building 'psyco._psyco' extension
Traceback (most recent call last):
  File "setup.py", line 180, in <module>
    **kwds )
  File "C:\python26\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\python26\lib\distutils\dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "C:\python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\python26\lib\distutils\command\install.py", line 577, in run
    self.run_command('build')
  File "C:\python26\lib\distutils\cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "C:\python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\python26\lib\distutils\command\build.py", line 134, in run
    self.run_command(cmd_name)
  File "C:\python26\lib\distutils\cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "C:\python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\python26\lib\distutils\command\build_ext.py", line 340, in run
    self.build_extensions()
  File "C:\python26\lib\distutils\command\build_ext.py", line 449, in build_exte
nsions
    self.build_extension(ext)
  File "C:\python26\lib\distutils\command\build_ext.py", line 499, in build_exte
nsion
    depends=ext.depends)
  File "C:\python26\lib\distutils\msvc9compiler.py", line 449, in compile
    self.initialize()
  File "C:\python26\lib\distutils\msvc9compiler.py", line 359, in initialize
    vc_env = query_vcvarsall(VERSION, plat_spec)
  File "C:\python26\lib\distutils\msvc9compiler.py", line 275, in query_vcvarsal
l
    raise ValueError(str(list(result.keys())))
ValueError: [u'path']

Есть идеи, почему я получаю эту ошибку? Спасибо

Ответы [ 2 ]

2 голосов
/ 27 апреля 2010

Похоже, что у psyco есть модули расширения, которые нужно собрать. Получаемое вами сообщение об ошибке не соответствует ожиданиям, но, похоже, оно указывает на то, что он не находит компилятор Microsoft Visual C ++, необходимый (по крайней мере, рекомендуется для других компиляторов) для сборки модулей расширения для Python 2.6.

Если вы действительно хотите строить из исходников, я предлагаю вам загрузить пробную версию Microsoft Visual C ++ 2008 Express Edition или Microsoft Visual Studio 2008.

Возможно, вам лучше прочитать эту ветку и загрузить предварительно скомпилированный двоичный файл от кого-то в сообществе, уже скомпилировавшего его.

Редактировать: Я только что заметил, что на домашней странице Psyco есть ссылка на предварительно скомпилированные двоичные файлы Python 2.6 от Michael Foord . Это было бы предпочтительным.

0 голосов
/ 16 января 2014

Я тоже пытаюсь обойти эту проблему (пытаясь установить другой модуль). Проблема в том, что скрипт msvc9compiler.py пытается найти и vcvarsall.bat, который находится в папке типа C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC, которая, в свою очередь, пытается найти и выполнить скрипт под C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools в моем случае vcvars32.bat. Этот скрипт обновляет настройки некоторых переменных: PATH, LIB и еще 2, которые никогда не устанавливаются / не обновляются в вашем случае.

Мой обходной путь - найти * .bat вручную и запустить его в командной строке, из которой я затем запущу команду установки. Переменные устанавливаются правильно, но только во время сеанса командной строки.

Попробуйте запустить echo %LIB% до и после запуска сценария, чтобы увидеть, что переменная действительно установлена.

...