
# 配置Hive Python3样例工程
#### 操作场景
为了运行MRS产品Hive组件的Python3接口样例代码，需要完成下面的操作。
#### 操作步骤
1. 客户端机器必须安装有Python3，其版本不低于3.6，最高不能超过3.8。 
   在客户端机器的命令行终端输入**python3** 可查看Python版本号。如下显示Python版本为3.8.2。
   ```
   Python 3.8.2 (default, Jun 23 2020, 10:26:03)
   [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
   Type "help", "copyright", "credits" or "license" for more information.
   ```
   
   
2. 客户端机器必须安装有setuptools，版本可取47.3.1。 
   具体软件，请到对应的官方网站获取。
   <https://pypi.org/project/setuptools/#files>
   将下载的setuptools压缩文件复制到客户端机器上，解压后进入解压目录，在客户端机器的命令行终端执行**python3 setup.py install**。
   如下内容表示安装setuptools的47.3.1版本成功。
   ```
   Finished processing dependencies for setuptools==47.3.1
   ```
   ![](https://support.huaweicloud.com/devg-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   若提示setuptools的47.3.1版本安装不成功，则需要检查环境是否有问题或是Python自身原因导致的。
   
   
3. 安装Python客户端到客户端机器。 
   1. 参考[获取MRS应用开发样例工程](https://support.huaweicloud.com/devg-lts-mrs/mrs_07_010002.html)，获取样例代码解压目录中"src\\hive-examples"目录下的样例工程文件夹"python3-examples"。
   
   2. 进入"python3-examples"文件夹。
   
   3. 根据python3的版本，选择进入"dependency_python3.6"或"dependency_python3.7"或"dependency_python3.8"或"dependency_python3.9"（MRS 3.3.0及之后版本支持）文件夹。
   
   4. 执行**whereis easy_install** 命令，找到easy_install程序路径。如果有多个路径，使用**easy_install --version**确认选择setuptools对应版本的easy_install，如/usr/local/bin/easy_install。
   
   5. MRS 3.2.0之前版本，使用对应的easy_install命令，依次安装dependency_python3.x文件夹下的egg文件。如： /usr/local/bin/easy_install future-0.18.2-py3.8.egg
      输出以下关键内容表示安装egg文件成功。
      ```
      Finished processing dependencies for future==0.18.2
      ```
      ![](https://support.huaweicloud.com/devg-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
      对于"dependency_python3.x"文件夹下同时存在**aarch64** 与**x86_6** 4版本的"egg"文件，需要根据操作系统选取其中一个版本安装即可，使用**uname -p**命令确认当前操作系统架构。
      
   
   6. MRS 3.2.0及之后版本，使用对应的easy_install命令，安装dependency_python3.x文件夹下的egg文件，egg文件存在依赖关系，可使用通配符安装，如：
      - "dependency_python3.6"目录： **/usr/local/bin/easy_install future\*egg six\*egg python\*egg sasl-\*linux-$(uname -p).egg thrift-\*egg thrift_sasl\*egg**
        
      
      - "dependency_python3.7"目录： **/usr/local/bin/easy_install future\*egg six\*egg sasl-\*linux-$(uname -p).egg thrift-\*egg thrift_sasl\*egg**
        
      
      - "dependency_python3.8"目录： **/usr/local/bin/easy_install future\*egg six\*egg python\*egg sasl-\*linux-$(uname -p).egg thrift-\*linux-$(uname -p).egg thrift_sasl\*egg**
        
      
      - "dependency_python3.9"目录（MRS 3.3.0及之后版本）： **/usr/local/bin/easy_install future\*egg six\*egg sasl-\*linux-$(uname -p).egg six-\*.egg thrift-\*linux-$(uname -p).egg thrift_sasl\*egg**
        
      
      
      每个egg文件安装输出以下关键内容表示安装成功。
      ```
      Finished processing dependencies for ***
      ```
      
   
   
   
   
4. 安装成功后，"python3-examples/pyCLI_nosec.py"为Python客户端样例代码，"python3-examples/pyhive/hive.py"为Python客户端接口API。
 
