Попытка установить snudown библиотеки Python, получить ошибку gperf

C:\Users\Nick\Documents\prog\python\snudown>python setup.py install
running install
running bdist_egg
running egg_info
writing snudown.egg-info\PKG-INFO
writing top-level names to snudown.egg-info\top_level.txt
writing dependency_links to snudown.egg-info\dependency_links.txt
reading manifest file 'snudown.egg-info\SOURCES.txt'
writing manifest file 'snudown.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_ext
Usage: gperf [options]

Options:
  -h, --help            show this help message and exit
  -i INPUT_FILE, --input=INPUT_FILE
  -o OUTPUT_DIR, --ouput=OUTPUT_DIR
  --csv
  --stat
  --minor
  --height=HEIGHT
  --width=WIDTH
Traceback (most recent call last):
  File "setup.py", line 50, in <module>
    include_dirs=['src', 'html']
  File "C:\Python27\lib\distutils\core.py", line 151, 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\install.py", line 67, in run
    self.do_egg_install()
  File "C:\Python27\lib\site-packages\setuptools\command\install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\Python27\lib\site-packages\setuptools\command\bdist_egg.py", line 160, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "C:\Python27\lib\site-packages\setuptools\command\bdist_egg.py", line 146, in call_command
    self.run_command(cmdname)
  File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\Python27\lib\site-packages\setuptools\command\install_lib.py", line 10, in run
    self.build()
  File "C:\Python27\lib\distutils\command\install_lib.py", line 111, in build
    self.run_command('build_ext')
  File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 35, in run
    process_gperf_file("src/html_entities.gperf", "src/html_entities.h")
  File "setup.py", line 21, in process_gperf_file
    subprocess.check_call(["gperf", gperf_file, "--ouput=%s" % output_file])
  File "C:\Python27\lib\subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['gperf', 'src/html_entities.gperf', '--ouput=src/html_entities.h']' returned non-zero exit status 2

В распечатке опций gperf вы заметите, что "output" написан с ошибкой. Я попытался изменить файл setup.py для snudown, чтобы использовать все возможные комбинации, которые я мог придумать, --output, --ouput, -o, но он все равно просто дает мне сообщение об использовании.

Я перепробовал много вещей, и не могу заставить его работать.

Кроме того, если это помогает, копия gperf, которую я использую, находится в

c:\python27\scripts\gperf.exe

1 ответ

У вас есть модуль Python gperf.py установлен в вашей системе? Я имею в виду это: https://pypi.python.org/pypi/gperf

Один из способов проверить:

(gperf)macbook:gperf joeyoung$ python

>>> import gperf
>>> print gperf.__file__
/Users/joeyoung/.virtualenvs/gperf/lib/python2.7/site-packages/gperf/__init__.pyc
>>> print gperf.__path__
['/Users/joeyoung/.virtualenvs/gperf/lib/python2.7/site-packages/gperf']

Примечание: этот пример на OS X. Используйте соответствующие инструменты командной строки Windows.

(gperf)macbook:gperf joeyoung$ cd /Users/joeyoung/.virtualenvs/gperf/lib/python2.7/site-packages/gperf
(gperf)macbook:gperf joeyoung$ ls -al
total 40
drwxr-xr-x   6 joeyoung  staff   204 Aug 19 04:14 .
drwxr-xr-x  14 joeyoung  staff   476 Aug 19 04:14 ..
-rw-r--r--   1 joeyoung  staff     0 Aug 19 04:14 __init__.py
-rw-r--r--   1 joeyoung  staff   184 Aug 19 04:14 __init__.pyc
-rw-r--r--   1 joeyoung  staff  7928 Aug 19 04:14 gperf.py
-rw-r--r--   1 joeyoung  staff  7656 Aug 19 04:14 gperf.pyc

Я думаю, что папка с корпусом gperf.py на вашем пути, и он выполняется вместо gperf.exe, Вы даже можете увидеть опечатку ouput в инструкции по использованию gperf.py:

Usage: gperf.py [options]

Options:
  -h, --help            show this help message and exit
  -i INPUT_FILE, --input=INPUT_FILE
  -o OUTPUT_DIR, --ouput=OUTPUT_DIR
  --csv
  --stat
  --minor
  --height=HEIGHT
  --width=WIDTH

Источник: https://pypi.python.org/pypi/gperf

Если у вас есть pip в вашей системе, вы можете попробовать удалить gperf.py как это:

pip uninstall gperf

Если нам повезет, нюхательный setup.py найдете свой gperf.exe на ваше PATH и использовать это вместо gperf.py ушел.

Изменить: Для ошибки, упомянутой в комментариях, загрузите это в

C:\\Users\\Nick\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\include\\stdint.h

тогда попробуй еще раз.

Другие вопросы по тегам