无法安装 pyopenssl (python27)

unable to install pyopenssl (python27)

我是编程新手。 我正在按照要求我使用 "pip install pyopenssl" 命令安装 pyopenssl 的步骤但失败并出现错误 vc9.0 需要我下载 VCfor python27 但我仍然收到错误。这是我在 cmd[= 中的日志12=]

C:\Python27\Scripts>pip install pyopenssl
You are using pip version 7.0.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip'         `command.`
Collecting pyopenssl
Downloading pyOpenSSL-16.2.0-py2.py3-none-any.whl (43kB)
    100% |################################| 45kB 51kB/s
Collecting cryptography>=1.3.4 (from pyopenssl)
  Downloading cryptography-1.5.2.tar.gz (400kB)
    100% |################################| 401kB 29kB/s
Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in     `c:\pytho`
n27\lib\site-packages (from pyopenssl)
Requirement already satisfied (use --upgrade to upgrade): idna>=2.0 in



c:\python
27\lib\site-packages (from cryptography>=1.3.4->pyopenssl)
Requirement already satisfied (use --upgrade to upgrade): pyasn1>=0.1.8 in c:\py
thon27\lib\site-packages (from cryptography>=1.3.4->pyopenssl)
Requirement already satisfied (use --upgrade to upgrade): setuptools>=11.3 in c:
\python27\lib\site-packages (from cryptography>=1.3.4->pyopenssl)
Requirement already satisfied (use --upgrade to upgrade): enum34 in c:\python27\
lib\site-packages (from cryptography>=1.3.4->pyopenssl)
Requirement already satisfied (use --upgrade to upgrade): ipaddress in c:\python
27\lib\site-packages (from cryptography>=1.3.4->pyopenssl)
Requirement already satisfied (use --upgrade to upgrade): cffi>=1.4.1 in c:\pyth
on27\lib\site-packages (from cryptography>=1.3.4->pyopenssl)
Requirement already satisfied (use --upgrade to upgrade): pycparser in c:\python
27\lib\site-packages (from cffi>=1.4.1->cryptography>=1.3.4->pyopenssl)
Installing collected packages: cryptography, pyopenssl
  Running setup.py install for cryptography
    Complete output from command C:\Python27\python.exe -c "import setuptools, t
okenize;__file__='c:\users\sanju\appdata\local\temp\pip-build-agvh4p\cryp
tography\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read(
).replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\sanju\app
data\local\temp\pip-w_gjid-record\install-record.txt --single-version-externally
-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-2.7
    creating build\lib.win-amd64-2.7\cryptography
    copying src\cryptography\exceptions.py -> build\lib.win-amd64-2.7\cryptograp
hy
    copying src\cryptography\fernet.py -> build\lib.win-amd64-2.7\cryptography
    copying src\cryptography\utils.py -> build\lib.win-amd64-2.7\cryptography
    copying src\cryptography\__about__.py -> build\lib.win-amd64-2.7\cryptograph
y
    copying src\cryptography\__init__.py -> build\lib.win-amd64-2.7\cryptography

    creating build\lib.win-amd64-2.7\cryptography\hazmat
    copying src\cryptography\hazmat\__init__.py -> build\lib.win-amd64-2.7\crypt
ography\hazmat
    creating build\lib.win-amd64-2.7\cryptography\x509
    copying src\cryptography\x509\base.py -> build\lib.win-amd64-2.7\cryptograph
y\x509
    copying src\cryptography\x509\extensions.py -> build\lib.win-amd64-2.7\crypt
ography\x509
    copying src\cryptography\x509\general_name.py -> build\lib.win-amd64-2.7\cry
ptography\x509
    copying src\cryptography\x509\name.py -> build\lib.win-amd64-2.7\cryptograph
y\x509
    copying src\cryptography\x509\oid.py -> build\lib.win-amd64-2.7\cryptography
\x509
    copying src\cryptography\x509\__init__.py -> build\lib.win-amd64-2.7\cryptog
raphy\x509
    creating build\lib.win-amd64-2.7\cryptography\hazmat\backends
    copying src\cryptography\hazmat\backends\interfaces.py -> build\lib.win-amd6
4-2.7\cryptography\hazmat\backends
    copying src\cryptography\hazmat\backends\multibackend.py -> build\lib.win-am
d64-2.7\cryptography\hazmat\backends
    copying src\cryptography\hazmat\backends\__init__.py -> build\lib.win-amd64-
2.7\cryptography\hazmat\backends
    creating build\lib.win-amd64-2.7\cryptography\hazmat\bindings
    copying src\cryptography\hazmat\bindings\__init__.py -> build\lib.win-amd64-
2.7\cryptography\hazmat\bindings
    creating build\lib.win-amd64-2.7\cryptography\hazmat\primitives
    copying src\cryptography\hazmat\primitives\cmac.py -> build\lib.win-amd64-2.
7\cryptography\hazmat\primitives
    copying src\cryptography\hazmat\primitives\constant_time.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\primitives
    copying src\cryptography\hazmat\primitives\hashes.py -> build\lib.win-amd64-
2.7\cryptography\hazmat\primitives
    copying src\cryptography\hazmat\primitives\hmac.py -> build\lib.win-amd64-2.
7\cryptography\hazmat\primitives
    copying src\cryptography\hazmat\primitives\keywrap.py -> build\lib.win-amd64
-2.7\cryptography\hazmat\primitives
    copying src\cryptography\hazmat\primitives\padding.py -> build\lib.win-amd64
-2.7\cryptography\hazmat\primitives
    copying src\cryptography\hazmat\primitives\serialization.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\primitives
    copying src\cryptography\hazmat\primitives\__init__.py -> build\lib.win-amd6
4-2.7\cryptography\hazmat\primitives
    creating build\lib.win-amd64-2.7\cryptography\hazmat\backends\commoncrypto
    copying src\cryptography\hazmat\backends\commoncrypto\backend.py -> build\li
b.win-amd64-2.7\cryptography\hazmat\backends\commoncrypto
    copying src\cryptography\hazmat\backends\commoncrypto\ciphers.py -> build\li
b.win-amd64-2.7\cryptography\hazmat\backends\commoncrypto
    copying src\cryptography\hazmat\backends\commoncrypto\hashes.py -> build\lib
.win-amd64-2.7\cryptography\hazmat\backends\commoncrypto
    copying src\cryptography\hazmat\backends\commoncrypto\hmac.py -> build\lib.w
in-amd64-2.7\cryptography\hazmat\backends\commoncrypto
    copying src\cryptography\hazmat\backends\commoncrypto\__init__.py -> build\l
ib.win-amd64-2.7\cryptography\hazmat\backends\commoncrypto
    creating build\lib.win-amd64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\backend.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\ciphers.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\cmac.py -> build\lib.win-am
d64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\decode_asn1.py -> build\lib
.win-amd64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\dsa.py -> build\lib.win-amd
64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\ec.py -> build\lib.win-amd6
4-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\encode_asn1.py -> build\lib
.win-amd64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\hashes.py -> build\lib.win-
amd64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\hmac.py -> build\lib.win-am
d64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\rsa.py -> build\lib.win-amd
64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\utils.py -> build\lib.win-a
md64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\x509.py -> build\lib.win-am
d64-2.7\cryptography\hazmat\backends\openssl
    copying src\cryptography\hazmat\backends\openssl\__init__.py -> build\lib.wi
n-amd64-2.7\cryptography\hazmat\backends\openssl
    creating build\lib.win-amd64-2.7\cryptography\hazmat\bindings\commoncrypto
    copying src\cryptography\hazmat\bindings\commoncrypto\binding.py -> build\li
b.win-amd64-2.7\cryptography\hazmat\bindings\commoncrypto
    copying src\cryptography\hazmat\bindings\commoncrypto\__init__.py -> build\l
ib.win-amd64-2.7\cryptography\hazmat\bindings\commoncrypto
    creating build\lib.win-amd64-2.7\cryptography\hazmat\bindings\openssl
    copying src\cryptography\hazmat\bindings\openssl\binding.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\bindings\openssl
    copying src\cryptography\hazmat\bindings\openssl\_conditional.py -> build\li
b.win-amd64-2.7\cryptography\hazmat\bindings\openssl
    copying src\cryptography\hazmat\bindings\openssl\__init__.py -> build\lib.wi
n-amd64-2.7\cryptography\hazmat\bindings\openssl
    creating build\lib.win-amd64-2.7\cryptography\hazmat\primitives\asymmetric
    copying src\cryptography\hazmat\primitives\asymmetric\dh.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\primitives\asymmetric
    copying src\cryptography\hazmat\primitives\asymmetric\dsa.py -> build\lib.wi
n-amd64-2.7\cryptography\hazmat\primitives\asymmetric
    copying src\cryptography\hazmat\primitives\asymmetric\ec.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\primitives\asymmetric
    copying src\cryptography\hazmat\primitives\asymmetric\padding.py -> build\li
b.win-amd64-2.7\cryptography\hazmat\primitives\asymmetric
    copying src\cryptography\hazmat\primitives\asymmetric\rsa.py -> build\lib.wi
n-amd64-2.7\cryptography\hazmat\primitives\asymmetric
    copying src\cryptography\hazmat\primitives\asymmetric\utils.py -> build\lib.
win-amd64-2.7\cryptography\hazmat\primitives\asymmetric
    copying src\cryptography\hazmat\primitives\asymmetric\__init__.py -> build\l
ib.win-amd64-2.7\cryptography\hazmat\primitives\asymmetric
    creating build\lib.win-amd64-2.7\cryptography\hazmat\primitives\ciphers
    copying src\cryptography\hazmat\primitives\ciphers\algorithms.py -> build\li
b.win-amd64-2.7\cryptography\hazmat\primitives\ciphers
    copying src\cryptography\hazmat\primitives\ciphers\base.py -> build\lib.win-
amd64-2.7\cryptography\hazmat\primitives\ciphers
    copying src\cryptography\hazmat\primitives\ciphers\modes.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\primitives\ciphers
    copying src\cryptography\hazmat\primitives\ciphers\__init__.py -> build\lib.
win-amd64-2.7\cryptography\hazmat\primitives\ciphers
    creating build\lib.win-amd64-2.7\cryptography\hazmat\primitives\interfaces
    copying src\cryptography\hazmat\primitives\interfaces\__init__.py -> build\l
ib.win-amd64-2.7\cryptography\hazmat\primitives\interfaces
    creating build\lib.win-amd64-2.7\cryptography\hazmat\primitives\kdf
    copying src\cryptography\hazmat\primitives\kdf\concatkdf.py -> build\lib.win
-amd64-2.7\cryptography\hazmat\primitives\kdf
    copying src\cryptography\hazmat\primitives\kdf\hkdf.py -> build\lib.win-amd6
4-2.7\cryptography\hazmat\primitives\kdf
    copying src\cryptography\hazmat\primitives\kdf\kbkdf.py -> build\lib.win-amd
64-2.7\cryptography\hazmat\primitives\kdf
    copying src\cryptography\hazmat\primitives\kdf\pbkdf2.py -> build\lib.win-am
d64-2.7\cryptography\hazmat\primitives\kdf
    copying src\cryptography\hazmat\primitives\kdf\x963kdf.py -> build\lib.win-a
md64-2.7\cryptography\hazmat\primitives\kdf
    copying src\cryptography\hazmat\primitives\kdf\__init__.py -> build\lib.win-
amd64-2.7\cryptography\hazmat\primitives\kdf
    creating build\lib.win-amd64-2.7\cryptography\hazmat\primitives\twofactor
    copying src\cryptography\hazmat\primitives\twofactor\hotp.py -> build\lib.wi
n-amd64-2.7\cryptography\hazmat\primitives\twofactor
    copying src\cryptography\hazmat\primitives\twofactor\totp.py -> build\lib.wi
n-amd64-2.7\cryptography\hazmat\primitives\twofactor
    copying src\cryptography\hazmat\primitives\twofactor\utils.py -> build\lib.w
in-amd64-2.7\cryptography\hazmat\primitives\twofactor
    copying src\cryptography\hazmat\primitives\twofactor\__init__.py -> build\li
b.win-amd64-2.7\cryptography\hazmat\primitives\twofactor
    running egg_info
    writing requirements to src\cryptography.egg-info\requires.txt
    writing src\cryptography.egg-info\PKG-INFO
    writing top-level names to src\cryptography.egg-info\top_level.txt
    writing dependency_links to src\cryptography.egg-info\dependency_links.txt
    writing entry points to src\cryptography.egg-info\entry_points.txt
    warning: manifest_maker: standard file '-c' not found

    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 matching '*' found under directory 've
ctors'
    writing manifest file 'src\cryptography.egg-info\SOURCES.txt'
    running build_ext
    generating cffi module 'build\temp.win-amd64-2.7\Release\_padding.c'
    creating build\temp.win-amd64-2.7
    creating build\temp.win-amd64-2.7\Release
    generating cffi module 'build\temp.win-amd64-2.7\Release\_constant_time.c
'
    generating cffi module 'build\temp.win-amd64-2.7\Release\_openssl.c'
    building '_openssl' extension
    creating build\temp.win-amd64-2.7\Release\build
    creating build\temp.win-amd64-2.7\Release\build\temp.win-amd64-2.7
    creating build\temp.win-amd64-2.7\Release\build\temp.win-amd64-2.7\Release
    C:\Users\SANJU\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python
.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\incl
ude -IC:\Python27\PC /Tcbuild\temp.win-amd64-2.7\Release\_openssl.c /Fobuild\tem
p.win-amd64-2.7\Release\build\temp.win-amd64-2.7\Release\_openssl.obj
    _openssl.c
    build\temp.win-amd64-2.7\Release\_openssl.c(433) : fatal error C1083: Cannot
 open include file: 'openssl/opensslv.h': No such file or directory
    error: command 'C:\Users\SANJU\AppData\Local\Programs\Common\Microsof
t\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe' failed with exit status 2


    ----------------------------------------
Command "C:\Python27\python.exe -c "import setuptools, tokenize;__file__='c:\us
ers\sanju\appdata\local\temp\pip-build-agvh4p\cryptography\setup.py';exec
(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'),
 __file__, 'exec'))" install --record c:\users\sanju\appdata\local\temp\pip-w_gj
id-record\install-record.txt --single-version-externally-managed --compile" fail
ed with error code 1 in c:\users\sanju\appdata\local\temp\pip-build-agvh4p\crypt
ography

C:\Python27\Scripts>

安装合适的 OpenSSL 应用程序后。版本你应该从

复制所有 headers
C:\OpenSSL-Win32\include\openssl. 

C:\Pyhton27\inclide

以及来自

的所有库
C:\OpenSSL-win32\lib to C:\Python27\Lib.
C:\Python27\Scripts>pip install pyopenssl
You are using pip version 7.0.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip'         `command.`
Collecting pyopenssl
Downloading pyOpenSSL-16.2.0-py2.py3-none-any.whl (43kB)
    100% |################################| 45kB 51kB/s
Collecting cryptography>=1.3.4 (from pyopenssl)
  Downloading cryptography-1.5.2.tar.gz (400kB)
    100% |################################| 401kB 29kB/s
Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in     `c:\pytho`
n27\lib\site-packages (from pyopenssl)
Requirement already satisfied (use --upgrade to upgrade): idna>=2.0 in

我不确定,但你似乎安装了旧版本的 pyopenssl,你可以使用

pip install pyopenssl --upgrade

卸载旧版本并安装新版本。

如果你能告诉我如果你输入命令会发生什么,也许我可以提供更多帮助

pip install pyopenssl 

现在 在cmd window.

pyOpenSSL 依赖于 pyca/cryptography。 pyca/cryptography 为 Windows 提供了编译的轮子,这将绕过这个问题(并避免需要 compiler/OpenSSL headers/libraries),但是你需要将你的 pip 升级到更新的版本. python -m pip install -U pip 会做(pip install -U pip 在 Windows 上有问题,因为打开文件锁定)

就我而言,以下策略对我有用。

pip uninstall pyOpenSSL
pip install pyopenssl --upgrade