无法使用C编译python包。错误2 - 无法打开包含文件:'alloca.h'?

问题描述 投票:4回答:1

这一切都始于“无法找到vcvarsall.bat”但我很快修复了它。之后我无法解决一些“错误2”。

已经尝试过的说明herehere

  • 安装Visual C ++编译器Python 2.7
  • 安装了Microsoft Visual Studio 2008 Express Edition SP1
  • 已安装适用于Windows 7和.NET Framework 3.5 SP1的Windows SDK
  • 操纵vcvarsall.bat和vsvars64

但仍然无法安装pyethash,PyYAML,scrypt。 pyethash的详细信息如下。

试图安装Crypto,它也使用C ++库 - 它的工作原理。是否仍然看起来我有编译器问题或者我应该在其他地方看看?

使用Windows 8.1 x64,python 2.7.11(v2.7.11:6d1b6a68f775,2015年12月5日,20:40:30)[MSC v.1500 64 bit(AMD64)]

Installing with pip

PS C:\pyethereum\ethash-master> pip install pyethash
Collecting pyethash
  Using cached pyethash-0.1.27.tar.gz
Building wheels for collected packages: pyethash
  Running setup.py bdist_wheel for pyethash ... error
  Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\b19a~1\\ap
pdata\\local\\temp\\pip-build-y2vsbx\\pyethash\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().
replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d c:\users\b19a~1\appdata\local\temp\tmpwmonvkpip-wheel- --pytho
n-tag cp27:
  running bdist_wheel
  running build
  running build_ext
  building 'pyethash' extension
  error: [Error 2]

  ----------------------------------------
  Failed building wheel for pyethash
  Running setup.py clean for pyethash
Failed to build pyethash
Installing collected packages: pyethash
  Running setup.py install for pyethash ... error
    Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\b19a~1\\
appdata\\local\\temp\\pip-build-y2vsbx\\pyethash\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\b19a~1\appdata\local\temp\pip-pvhu8d-record\insta
ll-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'pyethash' extension
    error: [Error 2]

    ----------------------------------------
Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\b19a~1\\appdata\\local\\temp\\pi
p-build-y2vsbx\\pyethash\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'),
 __file__, 'exec'))" install --record c:\users\b19a~1\appdata\local\temp\pip-pvhu8d-record\install-record.txt --single-v
ersion-externally-managed --compile" failed with error code 1 in c:\users\b19a~1\appdata\local\temp\pip-build-y2vsbx\pyethash\

Installing manually

PS C:\pyethereum\ethash-master> python setup.py install
running install
running build
running build_ext
building 'pyethash' extension
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\include -IC:\Python27\PC /Tcsrc/python/core.c /Fobuild\temp.win-amd64-2.7\Release\src/python/core.obj -Isrc/ -std=gnu99 -Wallcl : Command line warning D9002 : ignoring unknown option '-std=gnu99'core.c
c:\program files (x86)\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(81) : warning C4820: 'PreAttribute' : '4' bytes padding added after data member 'Access'
c:\program files (x86)\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(96) : warning C4820: 

....
....
c:\python27\include\import.h(61) : warning C4820: '_frozen' : '4' bytes padding added after data member 'size'
c:\python27\include\code.h(26) : warning C4820: '<unnamed-tag>' : '4' bytes padding added after data member 'co_firstlineno'src/python/core.c(2) : fatal error C1083: Cannot open include file: 'alloca.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\BIN\\amd64\\cl.exe' failed with exit status 2
python c++ windows visual-studio-2008 pip
1个回答
1
投票

alloca仅在Linux中出现,这是一个关键的bug,参见https://github.com/ethereum/ethash/pull/107

© www.soinside.com 2019 - 2024. All rights reserved.