【问题标题】:pip install python-adb failedpip install python-adb 失败
【发布时间】:2018-03-24 16:13:15
【问题描述】:

我想使用 pip V9.0.3 安装 Python-adb。

当我尝试安装 python-adb 时,我总是遇到与您在底部看到的相同的错误。
我还尝试在 pip/pip3 上使用具有管理员权限的 CMD 安装它。

我已经尝试过的:
- 具有/不具有管理员权限的 CMD
- pip/pip3 安装
- 为 C++ 错误安装了 mingw

我目前在 Windows 7 64Bit 上使用 Python3.6

输出:

Collecting python-adb
  Using cached python_adb-1.1.1-py3-none-any.whl
Requirement already satisfied: libusb1>=1.0.16 in c:\users\alex\appdata\local\programs\python\python
36\lib\site-packages (from python-adb)
Collecting M2Crypto>=0.21.1 (from python-adb)
  Using cached M2Crypto-0.29.0.tar.gz
Requirement already satisfied: six in c:\users\alex\appdata\local\programs\python\python36\lib\site-
packages (from python-adb)
Installing collected packages: M2Crypto, python-adb
  Running setup.py install for M2Crypto ... error
    Complete output from command c:\users\alex\appdata\local\programs\python\python36\python.exe -u
-c "import setuptools, tokenize;__file__='C:\\Users\\Alex\\AppData\\Local\\Temp\\pip-build-nwjmz2a0\
\M2Crypto\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n')
;f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Alex\AppData\Local\Temp\
pip-1s9ml6zw-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    copying M2Crypto\ASN1.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\AuthCookie.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\BIO.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\BN.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\callback.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\DH.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\DSA.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\EC.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\Engine.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\Err.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\EVP.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\ftpslib.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\httpslib.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\m2.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\m2crypto.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\m2urllib.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\m2urllib2.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\m2xmlrpclib.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\Rand.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\RC4.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\RSA.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\six.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\SMIME.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\threading.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\util.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\X509.py -> build\lib.win-amd64-3.6\M2Crypto
    copying M2Crypto\__init__.py -> build\lib.win-amd64-3.6\M2Crypto
    creating build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\cb.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\Checker.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\Cipher.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\Connection.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\Context.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\Session.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\SSLServer.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\ssl_dispatcher.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\timeout.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\TwistedProtocolWrapper.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    copying M2Crypto\SSL\__init__.py -> build\lib.win-amd64-3.6\M2Crypto\SSL
    running build_ext
    building 'M2Crypto._m2crypto' extension
    creating build\temp.win-amd64-3.6
    creating build\temp.win-amd64-3.6\Release
    creating build\temp.win-amd64-3.6\Release\SWIG
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /
GL /DNDEBUG /MD -Ic:\users\alex\appdata\local\programs\python\python36\include -Ic:\users\alex\appda
ta\local\programs\python\python36\include -IC:\Users\Alex\AppData\Local\Temp\pip-build-nwjmz2a0\M2Cr
ypto\SWIG "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x8
6)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\sha
red" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8
.1\include\winrt" /TcSWIG/_m2crypto_wrap.c /Fobuild\temp.win-amd64-3.6\Release\SWIG/_m2crypto_wrap.o
bj -D_CRT_SECURE_NO_WARNINGS -DTHREADING
    _m2crypto_wrap.c
    SWIG/_m2crypto_wrap.c(3557): fatal error C1083: Cannot open include file: 'openssl/err.h': No su
ch file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.ex
e' failed with exit status 2

    ----------------------------------------
Command "c:\users\alex\appdata\local\programs\python\python36\python.exe -u -c "import setuptools, t
okenize;__file__='C:\\Users\\Alex\\AppData\\Local\\Temp\\pip-build-nwjmz2a0\\M2Crypto\\setup.py';f=g
etattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(
code, __file__, 'exec'))" install --record C:\Users\Alex\AppData\Local\Temp\pip-1s9ml6zw-record\inst
all-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\A
lex\AppData\Local\Temp\pip-build-nwjmz2a0\M2Crypto\

【问题讨论】:

  • 您是否安装了 OpenSSL?这就是引发错误的原因。
  • 另外,您需要确保已安装此软件包的所有 dependencies
  • 我现在只需要安装 m2crypto,为此我安装了 OpenSSL。但比我尝试安装 m2crypto 并且不起作用

标签: python installation pip m2crypto


【解决方案1】:

显然M2Crypto(这是您的安装过程失败的地方)很难在 Windows 上安装,但有 unofficial binaries available(尽管这是一个过时的问题),并且软件包自己的安装说明包括一个部分在Windows installation

更有希望的是,有一个项目here 的克隆,它也有Windows instructions。但为此,您还需要安装 SWIG

第三个选项是这对(32-bit64-bit)包,它们是专门为 Windows 制作的 M2Crypto 的克隆,但我不确定它们的最新程度(最后一次提交是在 2014 年,所以现在可能对原始项目进行了很多更改)。

【讨论】:

    【解决方案2】:

    目前没有可用于 PyADB 的 Debian 软件包。 (很快就会修复……)

    [+] Debian 软件包:# #$ sudo dpkg -i python-pyadb_0.1.0-1_all.deb #选择以前未选择的软件包 python-pyadb。 #(Leyendo la base de datos … 322039 ficheros o Directorios instalados actualmente.) #Desempaquetando python-pyadb (de python-pyadb_0.1.0-1_all.deb) … #Configurando python-pyadb (0.1.0-1) … #

    [+] 简易安装

    $ sudo easy_install pyadb 正在搜索 pyadb ... 处理 pyadb 的依赖关系 完成处理 pyadb $ 的依赖关系

    [+] setup.py

    $ python setup.py build running build running build_py creating build creating build/lib.linux-i686-2.7 creating build/lib.linux-i686-2.7/pyadb copying pyadb/adb.py -> build/lib.linux-i686-2.7/pyadb copying pyadb/__init__.py -> build/lib.linux-i686-2.7/pyadb $ sudo python setup.py install running install running build running build_py running install_lib running install_egg_info Removing /usr/local/lib/python2.7/dist-packages/pyadb-0.1.1.egg-info Writing /usr/local/lib/python2.7/dist-packages/pyadb-0.1.1.egg-info $
    

    更多说明:http://wiki.python.org/moin/CheeseShopTutorial

    用法:

    $ python Python 2.7.3 (default, Jun 15 2012, 18:14:05) [GCC 4.7.0] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>> from pyadb import ADB >>> adb = ADB(‘~/android/platform-tools/adb’) >>> print adb.pyadb_version() 0.1.1 >>> quit() $
    

    您可以在“examples/whatsapp.py”中查看“完整”示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-05
      • 2014-02-23
      • 2015-12-22
      • 2012-09-24
      • 2018-10-11
      • 2015-05-05
      • 2021-03-16
      • 1970-01-01
      相关资源
      最近更新 更多