Appium的python_client的安装过程解析。

使用Appium,通常需要使用一种language的client,如果使用python,你就需要安装python_client。

下载后,源码中README会告诉你:

3. Install from source via [GitHub](https://github.com/appium/python-client).

    ```shell
    git clone [email protected]:appium/python-client.git
    cd python-client
    python setup.py install
    ```

那么setup过程到底是怎么样的呢?我们来分析一下安装过程的log:

running install
running bdist_egg
running egg_info
writing requirements to Appium_Python_Client.egg-info/requires.txt
writing Appium_Python_Client.egg-info/PKG-INFO
writing top-level names to Appium_Python_Client.egg-info/top_level.txt
writing dependency_links to Appium_Python_Client.egg-info/dependency_links.txt
reading manifest file 'Appium_Python_Client.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Appium_Python_Client.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py

上面做一些初始化操作,启动python打包工具,设置一些初始化文件。


copying appium/webdriver/unit_test.py -> build/lib.linux-x86_64-2.7/appium/webdriver

然后会把appium下的python代码备份到build下,在那下面在进行编译,打包。

由于我这里先前已经setup过一次,这里是添加了一个unit_test.py文件,所以只看到这么一个信息。


creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/appium

在build下的bdist.linux-x86_64目录创建一些文件夹,把lib.linux-x86_64-2.7备份到其中。


下面就是备份的过程:

copying build/lib.linux-x86_64-2.7/appium/saucetestcase.py -> build/bdist.linux-x86_64/egg/appium
creating build/bdist.linux-x86_64/egg/appium/common
copying build/lib.linux-x86_64-2.7/appium/common/exceptions.py -> build/bdist.linux-x86_64/egg/appium/common
copying build/lib.linux-x86_64-2.7/appium/common/__init__.py -> build/bdist.linux-x86_64/egg/appium/common
copying build/lib.linux-x86_64-2.7/appium/__init__.py -> build/bdist.linux-x86_64/egg/appium
creating build/bdist.linux-x86_64/egg/appium/webdriver
copying build/lib.linux-x86_64-2.7/appium/webdriver/switch_to.py -> build/bdist.linux-x86_64/egg/appium/webdriver
copying build/lib.linux-x86_64-2.7/appium/webdriver/mobilecommand.py -> build/bdist.linux-x86_64/egg/appium/webdriver
copying build/lib.linux-x86_64-2.7/appium/webdriver/connectiontype.py -> build/bdist.linux-x86_64/egg/appium/webdriver
copying build/lib.linux-x86_64-2.7/appium/webdriver/unit_test.py -> build/bdist.linux-x86_64/egg/appium/webdriver
creating build/bdist.linux-x86_64/egg/appium/webdriver/common
copying build/lib.linux-x86_64-2.7/appium/webdriver/common/mobileby.py -> build/bdist.linux-x86_64/egg/appium/webdriver/common
copying build/lib.linux-x86_64-2.7/appium/webdriver/common/__init__.py -> build/bdist.linux-x86_64/egg/appium/webdriver/common
copying build/lib.linux-x86_64-2.7/appium/webdriver/common/multi_action.py -> build/bdist.linux-x86_64/egg/appium/webdriver/common
copying build/lib.linux-x86_64-2.7/appium/webdriver/common/touch_action.py -> build/bdist.linux-x86_64/egg/appium/webdriver/common
copying build/lib.linux-x86_64-2.7/appium/webdriver/webdriver.py -> build/bdist.linux-x86_64/egg/appium/webdriver
copying build/lib.linux-x86_64-2.7/appium/webdriver/__init__.py -> build/bdist.linux-x86_64/egg/appium/webdriver
copying build/lib.linux-x86_64-2.7/appium/webdriver/webelement.py -> build/bdist.linux-x86_64/egg/appium/webdriver
copying build/lib.linux-x86_64-2.7/appium/webdriver/errorhandler.py -> build/bdist.linux-x86_64/egg/appium/webdriver


编译/bdist.linux-x86_64下的文件,并打包成生Appium_Python_Client-0.17-py2.7.egg文件。

然后删除build/bdist.linux-x86_64/egg下的所有文件。

用生成的Appium_Python_Client-0.17-py2.7.egg替换/usr/local/lib/python2.7/dist-packages下的原文件

byte-compiling build/bdist.linux-x86_64/egg/appium/saucetestcase.py to saucetestcase.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/common/exceptions.py to exceptions.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/common/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/switch_to.py to switch_to.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/mobilecommand.py to mobilecommand.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/connectiontype.py to connectiontype.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/unit_test.py to unit_test.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/common/mobileby.py to mobileby.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/common/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/common/multi_action.py to multi_action.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/common/touch_action.py to touch_action.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/webdriver.py to webdriver.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/webelement.py to webelement.pyc
byte-compiling build/bdist.linux-x86_64/egg/appium/webdriver/errorhandler.py to errorhandler.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying Appium_Python_Client.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Appium_Python_Client.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Appium_Python_Client.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Appium_Python_Client.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Appium_Python_Client.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/Appium_Python_Client-0.17-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing Appium_Python_Client-0.17-py2.7.egg
Removing /usr/local/lib/python2.7/dist-packages/Appium_Python_Client-0.17-py2.7.egg
Copying Appium_Python_Client-0.17-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Appium-Python-Client 0.17 is already the active version in easy-install.pth

Installed /usr/local/lib/python2.7/dist-packages/Appium_Python_Client-0.17-py2.7.egg


安装完成后,还需要处理一下该客户端的一些依赖文件。

Processing dependencies for Appium-Python-Client==0.17
Searching for enum34==1.0.4
Best match: enum34 1.0.4
Processing enum34-1.0.4-py2.7.egg
enum34 1.0.4 is already the active version in easy-install.pth

Using /usr/local/lib/python2.7/dist-packages/enum34-1.0.4-py2.7.egg
Searching for selenium==2.47.1
Best match: selenium 2.47.1
Processing selenium-2.47.1-py2.7.egg
selenium 2.47.1 is already the active version in easy-install.pth

Using /usr/local/lib/python2.7/dist-packages/selenium-2.47.1-py2.7.egg
Finished processing dependencies for Appium-Python-Client==0.17


猜你喜欢

转载自blog.csdn.net/nitibu/article/details/48087467