如何修复 libssl.lib 未找到 Windows 10 上的错误?
How to fix libssl.lib not found error on Windows 10?
我正在尝试安装一个未公开的 python 包。但是,这里的问题不在于包,而在于 ms 构建工具找不到 libssl.lib
。这是我在尝试安装加密时遇到的错误。请注意,我已经使用 pip 单独安装了密码学,但该软件包仍会尝试构建和安装它。
ERROR: Command errored out with exit status 1:
command: 'c:\users\admin\appdata\local\programs\python\python38-32\python.exe' 'c:\users\admin\appdata\local\programs\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\SHREST~1\AppData\Local\Temp\tmpyfoyip74'
cwd: C:\Users\admin\AppData\Local\Temp\pip-install-tz7xrs6s\cryptography_1a90283ee8854dbc8b5878dca15d28c1
Complete output (146 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win32-3.8
creating build\lib.win32-3.8\cryptography
copying src\cryptography\exceptions.py -> build\lib.win32-3.8\cryptography
copying src\cryptography\fernet.py -> build\lib.win32-3.8\cryptography
copying src\cryptography\utils.py -> build\lib.win32-3.8\cryptography
copying src\cryptography\__about__.py -> build\lib.win32-3.8\cryptography
copying src\cryptography\__init__.py -> build\lib.win32-3.8\cryptography
creating build\lib.win32-3.8\cryptography\hazmat
copying src\cryptography\hazmat\_oid.py -> build\lib.win32-3.8\cryptography\hazmat
copying src\cryptography\hazmat\__init__.py -> build\lib.win32-3.8\cryptography\hazmat
creating build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\base.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\certificate_transparency.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\extensions.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\general_name.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\name.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\ocsp.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\oid.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\__init__.py -> build\lib.win32-3.8\cryptography\x509
creating build\lib.win32-3.8\cryptography\hazmat\backends
copying src\cryptography\hazmat\backends\interfaces.py -> build\lib.win32-3.8\cryptography\hazmat\backends
copying src\cryptography\hazmat\backends\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\backends
creating build\lib.win32-3.8\cryptography\hazmat\bindings
copying src\cryptography\hazmat\bindings\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\bindings
creating build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\cmac.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\constant_time.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\hashes.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\hmac.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\keywrap.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\padding.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\poly1305.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
creating build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\aead.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\backend.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ciphers.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\cmac.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\decode_asn1.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\dh.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\dsa.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ec.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ed25519.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ed448.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\encode_asn1.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\hashes.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\hmac.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ocsp.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\poly1305.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\rsa.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\utils.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\x25519.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\x448.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\x509.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
creating build\lib.win32-3.8\cryptography\hazmat\bindings\openssl
copying src\cryptography\hazmat\bindings\openssl\binding.py -> build\lib.win32-3.8\cryptography\hazmat\bindings\openssl
copying src\cryptography\hazmat\bindings\openssl\_conditional.py -> build\lib.win32-3.8\cryptography\hazmat\bindings\openssl
copying src\cryptography\hazmat\bindings\openssl\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\bindings\openssl
creating build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\dh.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\dsa.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\ec.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\ed25519.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\ed448.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\padding.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\rsa.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\utils.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\x25519.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\x448.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
creating build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\aead.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\algorithms.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\base.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\modes.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
creating build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\concatkdf.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\hkdf.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\kbkdf.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\pbkdf2.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\scrypt.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\x963kdf.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
creating build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
copying src\cryptography\hazmat\primitives\serialization\base.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
copying src\cryptography\hazmat\primitives\serialization\pkcs12.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
copying src\cryptography\hazmat\primitives\serialization\ssh.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
copying src\cryptography\hazmat\primitives\serialization\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
creating build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
copying src\cryptography\hazmat\primitives\twofactor\hotp.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
copying src\cryptography\hazmat\primitives\twofactor\totp.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
copying src\cryptography\hazmat\primitives\twofactor\utils.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
copying src\cryptography\hazmat\primitives\twofactor\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
running egg_info
writing src\cryptography.egg-info\PKG-INFO
writing dependency_links to src\cryptography.egg-info\dependency_links.txt
writing requirements to src\cryptography.egg-info\requires.txt
writing top-level names to src\cryptography.egg-info\top_level.txt
reading manifest file 'src\cryptography.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs\_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files found matching 'azure-pipelines.yml'
warning: no previously-included files found matching '.azure-pipelines'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.travis'
warning: no previously-included files matching '*' found under directory '.azure-pipelines'
warning: no previously-included files matching '*' found under directory '.travis'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'rtd-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
writing manifest file 'src\cryptography.egg-info\SOURCES.txt'
running build_ext
generating cffi module 'build\temp.win32-3.8\Release\_padding.c'
creating build\temp.win32-3.8
creating build\temp.win32-3.8\Release
generating cffi module 'build\temp.win32-3.8\Release\_constant_time.c'
generating cffi module 'build\temp.win32-3.8\Release\_openssl.c'
building '_openssl' extension
creating build\temp.win32-3.8\Release\build
creating build\temp.win32-3.8\Release\build\temp.win32-3.8
creating build\temp.win32-3.8\Release\build\temp.win32-3.8\Release
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.28.29333\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\admin\appdata\local\programs\python\python38-32\include -Ic:\users\admin\appdata\local\programs\python\python38-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.28.29333\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK.8\include\um" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\cppwinrt" /Tcbuild\temp.win32-3.8\Release\_openssl.c /Fobuild\temp.win32-3.8\Release\build\temp.win32-3.8\Release\_openssl.obj
_openssl.c
build\temp.win32-3.8\Release\_openssl.c(1509): warning C4098: 'Cryptography_HMAC_CTX_free': 'void' function returning a value
build\temp.win32-3.8\Release\_openssl.c(12129): warning C4090: 'return': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(12140): warning C4090: '=': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(12155): warning C4090: 'return': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(12166): warning C4090: '=': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(28350): warning C4090: 'return': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(28373): warning C4090: '=': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(40431): warning C4090: 'function': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(40469): warning C4090: 'function': different 'const' qualifiers
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.28.29333\bin\HostX86\x86\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:c:\users\admin\appdata\local\programs\python\python38-32\libs /LIBPATH:c:\users\admin\appdata\local\programs\python\python38-32\PCbuild\win32 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.28.29333\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK.8\lib\um\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\lib.0.18362.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\lib.0.18362.0\um\x86" libssl.lib libcrypto.lib advapi32.lib crypt32.lib gdi32.lib user32.lib ws2_32.lib /EXPORT:PyInit__openssl build\temp.win32-3.8\Release\build\temp.win32-3.8\Release\_openssl.obj /OUT:build\lib.win32-3.8\cryptography\hazmat\bindings\_openssl.pyd /IMPLIB:build\temp.win32-3.8\Release\build\temp.win32-3.8\Release\_openssl.lib /NXCOMPAT /DYNAMICBASE
LINK : fatal error LNK1181: cannot open input file 'libssl.lib'
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX86\x86\link.exe' failed with exit status 1181
----------------------------------------
ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
我还在环境变量中加入了 OpenSSL
但是,我一直收到上述错误。我还重新安装了 Visual Studio build tools 2019。不确定我还能尝试什么来修复这个错误。
似乎正在使用的 libpath
MS 构建工具没有 OpenSSL
库路径,因此找不到 libssl.lib
。一种可能的解决方案是将 .lib
文件从您在环境变量中显示的 openssl
目录复制到 Python lib c:\users\admin\appdata\local\programs\python\python38-32\libs
。应该可以。
我正在尝试安装一个未公开的 python 包。但是,这里的问题不在于包,而在于 ms 构建工具找不到 libssl.lib
。这是我在尝试安装加密时遇到的错误。请注意,我已经使用 pip 单独安装了密码学,但该软件包仍会尝试构建和安装它。
ERROR: Command errored out with exit status 1:
command: 'c:\users\admin\appdata\local\programs\python\python38-32\python.exe' 'c:\users\admin\appdata\local\programs\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\SHREST~1\AppData\Local\Temp\tmpyfoyip74'
cwd: C:\Users\admin\AppData\Local\Temp\pip-install-tz7xrs6s\cryptography_1a90283ee8854dbc8b5878dca15d28c1
Complete output (146 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win32-3.8
creating build\lib.win32-3.8\cryptography
copying src\cryptography\exceptions.py -> build\lib.win32-3.8\cryptography
copying src\cryptography\fernet.py -> build\lib.win32-3.8\cryptography
copying src\cryptography\utils.py -> build\lib.win32-3.8\cryptography
copying src\cryptography\__about__.py -> build\lib.win32-3.8\cryptography
copying src\cryptography\__init__.py -> build\lib.win32-3.8\cryptography
creating build\lib.win32-3.8\cryptography\hazmat
copying src\cryptography\hazmat\_oid.py -> build\lib.win32-3.8\cryptography\hazmat
copying src\cryptography\hazmat\__init__.py -> build\lib.win32-3.8\cryptography\hazmat
creating build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\base.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\certificate_transparency.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\extensions.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\general_name.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\name.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\ocsp.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\oid.py -> build\lib.win32-3.8\cryptography\x509
copying src\cryptography\x509\__init__.py -> build\lib.win32-3.8\cryptography\x509
creating build\lib.win32-3.8\cryptography\hazmat\backends
copying src\cryptography\hazmat\backends\interfaces.py -> build\lib.win32-3.8\cryptography\hazmat\backends
copying src\cryptography\hazmat\backends\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\backends
creating build\lib.win32-3.8\cryptography\hazmat\bindings
copying src\cryptography\hazmat\bindings\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\bindings
creating build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\cmac.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\constant_time.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\hashes.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\hmac.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\keywrap.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\padding.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\poly1305.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
copying src\cryptography\hazmat\primitives\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives
creating build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\aead.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\backend.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ciphers.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\cmac.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\decode_asn1.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\dh.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\dsa.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ec.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ed25519.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ed448.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\encode_asn1.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\hashes.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\hmac.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\ocsp.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\poly1305.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\rsa.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\utils.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\x25519.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\x448.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\x509.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
copying src\cryptography\hazmat\backends\openssl\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\backends\openssl
creating build\lib.win32-3.8\cryptography\hazmat\bindings\openssl
copying src\cryptography\hazmat\bindings\openssl\binding.py -> build\lib.win32-3.8\cryptography\hazmat\bindings\openssl
copying src\cryptography\hazmat\bindings\openssl\_conditional.py -> build\lib.win32-3.8\cryptography\hazmat\bindings\openssl
copying src\cryptography\hazmat\bindings\openssl\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\bindings\openssl
creating build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\dh.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\dsa.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\ec.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\ed25519.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\ed448.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\padding.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\rsa.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\utils.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\x25519.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\x448.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
copying src\cryptography\hazmat\primitives\asymmetric\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\asymmetric
creating build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\aead.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\algorithms.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\base.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\modes.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
copying src\cryptography\hazmat\primitives\ciphers\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\ciphers
creating build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\concatkdf.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\hkdf.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\kbkdf.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\pbkdf2.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\scrypt.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\x963kdf.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
copying src\cryptography\hazmat\primitives\kdf\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\kdf
creating build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
copying src\cryptography\hazmat\primitives\serialization\base.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
copying src\cryptography\hazmat\primitives\serialization\pkcs12.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
copying src\cryptography\hazmat\primitives\serialization\ssh.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
copying src\cryptography\hazmat\primitives\serialization\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\serialization
creating build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
copying src\cryptography\hazmat\primitives\twofactor\hotp.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
copying src\cryptography\hazmat\primitives\twofactor\totp.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
copying src\cryptography\hazmat\primitives\twofactor\utils.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
copying src\cryptography\hazmat\primitives\twofactor\__init__.py -> build\lib.win32-3.8\cryptography\hazmat\primitives\twofactor
running egg_info
writing src\cryptography.egg-info\PKG-INFO
writing dependency_links to src\cryptography.egg-info\dependency_links.txt
writing requirements to src\cryptography.egg-info\requires.txt
writing top-level names to src\cryptography.egg-info\top_level.txt
reading manifest file 'src\cryptography.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs\_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files found matching 'azure-pipelines.yml'
warning: no previously-included files found matching '.azure-pipelines'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.travis'
warning: no previously-included files matching '*' found under directory '.azure-pipelines'
warning: no previously-included files matching '*' found under directory '.travis'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'rtd-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
writing manifest file 'src\cryptography.egg-info\SOURCES.txt'
running build_ext
generating cffi module 'build\temp.win32-3.8\Release\_padding.c'
creating build\temp.win32-3.8
creating build\temp.win32-3.8\Release
generating cffi module 'build\temp.win32-3.8\Release\_constant_time.c'
generating cffi module 'build\temp.win32-3.8\Release\_openssl.c'
building '_openssl' extension
creating build\temp.win32-3.8\Release\build
creating build\temp.win32-3.8\Release\build\temp.win32-3.8
creating build\temp.win32-3.8\Release\build\temp.win32-3.8\Release
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.28.29333\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\admin\appdata\local\programs\python\python38-32\include -Ic:\users\admin\appdata\local\programs\python\python38-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.28.29333\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK.8\include\um" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\include.0.18362.0\cppwinrt" /Tcbuild\temp.win32-3.8\Release\_openssl.c /Fobuild\temp.win32-3.8\Release\build\temp.win32-3.8\Release\_openssl.obj
_openssl.c
build\temp.win32-3.8\Release\_openssl.c(1509): warning C4098: 'Cryptography_HMAC_CTX_free': 'void' function returning a value
build\temp.win32-3.8\Release\_openssl.c(12129): warning C4090: 'return': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(12140): warning C4090: '=': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(12155): warning C4090: 'return': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(12166): warning C4090: '=': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(28350): warning C4090: 'return': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(28373): warning C4090: '=': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(40431): warning C4090: 'function': different 'const' qualifiers
build\temp.win32-3.8\Release\_openssl.c(40469): warning C4090: 'function': different 'const' qualifiers
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.28.29333\bin\HostX86\x86\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:c:\users\admin\appdata\local\programs\python\python38-32\libs /LIBPATH:c:\users\admin\appdata\local\programs\python\python38-32\PCbuild\win32 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.28.29333\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK.8\lib\um\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\lib.0.18362.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\lib.0.18362.0\um\x86" libssl.lib libcrypto.lib advapi32.lib crypt32.lib gdi32.lib user32.lib ws2_32.lib /EXPORT:PyInit__openssl build\temp.win32-3.8\Release\build\temp.win32-3.8\Release\_openssl.obj /OUT:build\lib.win32-3.8\cryptography\hazmat\bindings\_openssl.pyd /IMPLIB:build\temp.win32-3.8\Release\build\temp.win32-3.8\Release\_openssl.lib /NXCOMPAT /DYNAMICBASE
LINK : fatal error LNK1181: cannot open input file 'libssl.lib'
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX86\x86\link.exe' failed with exit status 1181
----------------------------------------
ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
我还在环境变量中加入了 OpenSSL
但是,我一直收到上述错误。我还重新安装了 Visual Studio build tools 2019。不确定我还能尝试什么来修复这个错误。
似乎正在使用的 libpath
MS 构建工具没有 OpenSSL
库路径,因此找不到 libssl.lib
。一种可能的解决方案是将 .lib
文件从您在环境变量中显示的 openssl
目录复制到 Python lib c:\users\admin\appdata\local\programs\python\python38-32\libs
。应该可以。