在VisualStudio 2017中缺少io.h标题

时间:2017-04-04 09:32:55

标签: python c++ ansible visual-studio-2017

我安装了VisualStudio 2017。我不需要整个工作室,所以我只检查了C ++编译器和一些依赖项(不记得确切)。

当我想通过pip3 install ansiblepip 9.0.1,python 3.5.2)安装Ansible时出现错误:

D:\Bin\VisualStudio\2017\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Isrc/ -Isrc/inc-msvc/ -Id:\bin\python\python35\include -Id:\bin\python\python35\include /Tcsrc/winrand.c /Fobuild\temp.win32-3.5\Release\src/winrand.obj
    winrand.c
d:\bin\python\python35\include\pyconfig.h(68): fatal error C1083: Nie można otworzyć pliku dołącz: 'io.h': No such file or directory
error: command 'D:\\Bin\\VisualStudio\\2017\\VC\\Tools\\MSVC\\14.10.25017\\bin\\HostX64\\x64\\cl.exe' failed with exit status 2

安装时我错过了什么?需要一些组件吗?

完整日志:

-> % pip3 install ansible
Collecting ansible
  Using cached ansible-2.2.2.0.tar.gz
Requirement already satisfied: paramiko in d:\bin\python\python35\lib\site-packages (from ansible)
Requirement already satisfied: jinja2 in d:\bin\python\python35\lib\site-packages (from ansible)
Requirement already satisfied: PyYAML in d:\bin\python\python35\lib\site-packages (from ansible)
Requirement already satisfied: setuptools in d:\bin\python\python35\lib\site-packages (from ansible)
Collecting pycrypto>=2.6 (from ansible)
  Using cached pycrypto-2.6.1.tar.gz
Requirement already satisfied: pyasn1>=0.1.7 in d:\bin\python\python35\lib\site-packages (from paramiko->ansible)
Requirement already satisfied: cryptography>=1.1 in d:\bin\python\python35\lib\site-packages (from paramiko->ansible)
Requirement already satisfied: MarkupSafe in d:\bin\python\python35\lib\site-packages (from jinja2->ansible)
Requirement already satisfied: idna>=2.0 in d:\bin\python\python35\lib\site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied: cffi>=1.4.1 in d:\bin\python\python35\lib\site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied: six>=1.4.1 in d:\bin\python\python35\lib\site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied: pycparser in d:\bin\python\python35\lib\site-packages (from cffi>=1.4.1->cryptography>=1.1->paramiko->ansible)
Installing collected packages: pycrypto, ansible
  Running setup.py install for pycrypto ... error
    Complete output from command d:\bin\python\python35\python3.5.exe -u -c "import setuptools, tokenize;__file__='D:\\Bin\\cygwin\\tmp\\pip-build-ms5lafhi\\pycrypto\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record D:\Bin\cygwin\tmp\pip-irxg3yqr-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.5
    creating build\lib.win32-3.5\Crypto
    copying lib\Crypto\pct_warnings.py -> build\lib.win32-3.5\Crypto
    copying lib\Crypto\__init__.py -> build\lib.win32-3.5\Crypto
    creating build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\hashalgo.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\HMAC.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\MD2.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\MD4.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\MD5.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\RIPEMD.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA224.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA256.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA384.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA512.py -> build\lib.win32-3.5\Crypto\Hash
    copying lib\Crypto\Hash\__init__.py -> build\lib.win32-3.5\Crypto\Hash
    creating build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\AES.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\ARC2.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\ARC4.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\blockalgo.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\Blowfish.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\CAST.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\DES.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\DES3.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\PKCS1_OAEP.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\PKCS1_v1_5.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\XOR.py -> build\lib.win32-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\__init__.py -> build\lib.win32-3.5\Crypto\Cipher
    creating build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\asn1.py -> build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\Counter.py -> build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\number.py -> build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\py3compat.py -> build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\randpool.py -> build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\RFC1751.py -> build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\winrandom.py -> build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\_number_new.py -> build\lib.win32-3.5\Crypto\Util
    copying lib\Crypto\Util\__init__.py -> build\lib.win32-3.5\Crypto\Util
    creating build\lib.win32-3.5\Crypto\Random
    copying lib\Crypto\Random\random.py -> build\lib.win32-3.5\Crypto\Random
    copying lib\Crypto\Random\_UserFriendlyRNG.py -> build\lib.win32-3.5\Crypto\Random
    copying lib\Crypto\Random\__init__.py -> build\lib.win32-3.5\Crypto\Random
    creating build\lib.win32-3.5\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\FortunaAccumulator.py -> build\lib.win32-3.5\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\FortunaGenerator.py -> build\lib.win32-3.5\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\SHAd256.py -> build\lib.win32-3.5\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\__init__.py -> build\lib.win32-3.5\Crypto\Random\Fortuna
    creating build\lib.win32-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\fallback.py -> build\lib.win32-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\nt.py -> build\lib.win32-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\posix.py -> build\lib.win32-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\rng_base.py -> build\lib.win32-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\__init__.py -> build\lib.win32-3.5\Crypto\Random\OSRNG
    creating build\lib.win32-3.5\Crypto\SelfTest
    copying lib\Crypto\SelfTest\st_common.py -> build\lib.win32-3.5\Crypto\SelfTest
    copying lib\Crypto\SelfTest\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest
    creating build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\common.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_AES.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_ARC2.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_ARC4.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_Blowfish.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_CAST.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_DES.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_DES3.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_pkcs1_15.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_pkcs1_oaep.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_XOR.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\Cipher
    creating build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\common.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_HMAC.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD2.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD4.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD5.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_RIPEMD.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA224.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA256.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA384.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA512.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\Hash
    creating build\lib.win32-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_AllOrNothing.py -> build\lib.win32-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_chaffing.py -> build\lib.win32-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_KDF.py -> build\lib.win32-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_rfc1751.py -> build\lib.win32-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\Protocol
    creating build\lib.win32-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_DSA.py -> build\lib.win32-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_ElGamal.py -> build\lib.win32-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_importKey.py -> build\lib.win32-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_RSA.py -> build\lib.win32-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\PublicKey
    creating build\lib.win32-3.5\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test_random.py -> build\lib.win32-3.5\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test_rpoolcompat.py -> build\lib.win32-3.5\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test__UserFriendlyRNG.py -> build\lib.win32-3.5\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\Random
    creating build\lib.win32-3.5\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaAccumulator.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaGenerator.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_SHAd256.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\Fortuna
    creating build\lib.win32-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_fallback.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_generic.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_nt.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_posix.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_winrandom.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\Random\OSRNG
    creating build\lib.win32-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_asn1.py -> build\lib.win32-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_Counter.py -> build\lib.win32-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_number.py -> build\lib.win32-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_winrandom.py -> build\lib.win32-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\Util
    creating build\lib.win32-3.5\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\test_pkcs1_15.py -> build\lib.win32-3.5\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\test_pkcs1_pss.py -> build\lib.win32-3.5\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\__init__.py -> build\lib.win32-3.5\Crypto\SelfTest\Signature
    creating build\lib.win32-3.5\Crypto\Protocol
    copying lib\Crypto\Protocol\AllOrNothing.py -> build\lib.win32-3.5\Crypto\Protocol
    copying lib\Crypto\Protocol\Chaffing.py -> build\lib.win32-3.5\Crypto\Protocol
    copying lib\Crypto\Protocol\KDF.py -> build\lib.win32-3.5\Crypto\Protocol
    copying lib\Crypto\Protocol\__init__.py -> build\lib.win32-3.5\Crypto\Protocol
    creating build\lib.win32-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\DSA.py -> build\lib.win32-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\ElGamal.py -> build\lib.win32-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\pubkey.py -> build\lib.win32-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\RSA.py -> build\lib.win32-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_DSA.py -> build\lib.win32-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_RSA.py -> build\lib.win32-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_slowmath.py -> build\lib.win32-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\__init__.py -> build\lib.win32-3.5\Crypto\PublicKey
    creating build\lib.win32-3.5\Crypto\Signature
    copying lib\Crypto\Signature\PKCS1_PSS.py -> build\lib.win32-3.5\Crypto\Signature
    copying lib\Crypto\Signature\PKCS1_v1_5.py -> build\lib.win32-3.5\Crypto\Signature
    copying lib\Crypto\Signature\__init__.py -> build\lib.win32-3.5\Crypto\Signature
    Skipping optional fixer: buffer
    Skipping optional fixer: idioms
    Skipping optional fixer: set_literal
    Skipping optional fixer: ws_comma
    running build_ext
    warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
    building 'Crypto.Random.OSRNG.winrandom' extension
    creating build\temp.win32-3.5
    creating build\temp.win32-3.5\Release
    creating build\temp.win32-3.5\Release\src
    D:\Bin\VisualStudio\2017\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Isrc/ -Isrc/inc-msvc/ -Id:\bin\python\python35\include -Id:\bin\python\python35\include /Tcsrc/winrand.c /Fobuild\temp.win32-3.5\Release\src/winrand.obj
    winrand.c
    d:\bin\python\python35\include\pyconfig.h(216): fatal error C1083: Nie można otworzyć pliku dołącz: 'float.h': No such file or directory
    error: command 'D:\\Bin\\VisualStudio\\2017\\VC\\Tools\\MSVC\\14.10.25017\\bin\\HostX64\\x64\\cl.exe' failed with exit status 2

    ----------------------------------------
Command "d:\bin\python\python35\python3.5.exe -u -c "import setuptools, tokenize;__file__='D:\\Bin\\cygwin\\tmp\\pip-build-ms5lafhi\\pycrypto\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record D:\Bin\cygwin\tmp\pip-irxg3yqr-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in D:\Bin\cygwin\tmp\pip-build-ms5lafhi\pycrypto\

1 个答案:

答案 0 :(得分:2)

我最终得到了Cygwin的Python 3.6 + GMP库+ GCC编译器,并以某种方式成功安装了Ansible:

-> % pip install ansible
Collecting ansible
Requirement already satisfied: paramiko in /usr/lib/python3.6/site-packages (from ansible)
Requirement already satisfied: PyYAML in /usr/lib/python3.6/site-packages (from ansible)
Collecting pycrypto>=2.6 (from ansible)
  Using cached pycrypto-2.6.1.tar.gz
Requirement already satisfied: jinja2 in /usr/lib/python3.6/site-packages (from ansible)
Requirement already satisfied: setuptools in /usr/lib/python3.6/site-packages (from ansible)
Requirement already satisfied: cryptography>=1.1 in /usr/lib/python3.6/site-packages (from paramiko->ansible)
Requirement already satisfied: pyasn1>=0.1.7 in /usr/lib/python3.6/site-packages (from paramiko->ansible)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib/python3.6/site-packages (from jinja2->ansible)
Requirement already satisfied: appdirs>=1.4.0 in /usr/lib/python3.6/site-packages (from setuptools->ansible)
Requirement already satisfied: six>=1.6.0 in /usr/lib/python3.6/site-packages (from setuptools->ansible)
Requirement already satisfied: packaging>=16.8 in /usr/lib/python3.6/site-packages (from setuptools->ansible)
Requirement already satisfied: cffi>=1.4.1 in /usr/lib/python3.6/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied: asn1crypto>=0.21.0 in /usr/lib/python3.6/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied: idna>=2.1 in /usr/lib/python3.6/site-packages (from cryptography>=1.1->paramiko->ansible)
Requirement already satisfied: pyparsing in /usr/lib/python3.6/site-packages (from packaging>=16.8->setuptools->ansible)
Requirement already satisfied: pycparser in /usr/lib/python3.6/site-packages (from cffi>=1.4.1->cryptography>=1.1->paramiko->ansible)
Building wheels for collected packages: pycrypto
  Running setup.py bdist_wheel for pycrypto ... done
  Stored in directory: /cygdrive/c/Users/AP_185/.cache/pip/wheels/80/1f/94/f76e9746864f198eb0e304aeec319159fa41b082f61281ffce
Successfully built pycrypto
Installing collected packages: pycrypto, ansible
Successfully installed ansible-2.2.2.0 pycrypto-2.6.1

PATH中的Cygwin bin目录,没有设置PYTHONPATHPYTHONHOME个env变量,只有符号链接pip -> pip3python -> python3.6m.exe用于Python3.6的默认用法。

的VisualStudio? 〜4GB的安装东西仍然没用。卸载。