全部产品
Search
文档中心

对象存储 OSS:Python安装

更新时间:Dec 20, 2023

如果您需要管理OSS存储空间、上传下载文件、管理数据、进行图片处理等,可以先安装OSS Python SDK。本文介绍如何安装OSS Python SDK。

环境准备

  1. 安装Python

    OSS Python SDK适用于Python 2.6、2.7、3.3、3.4、3.5、3.6、3.7、3.8及以上版本。

    说明

    Windows环境中安装Python SDK时,需确保Visual C++版本为15.0或以上。

  2. 安装完成后,执行以下命令查看Python版本。

    python --version

    成功返回示例如下。以下示例表明您已成功安装Python 3.8.2。

    Python 3.8.2

下载SDK

安装python-devel

完成环境准备后,您需要先要安装python-devel包。

说明

OSS Python SDK需要crcmod计算CRC校验码,而crcmod依赖python-devel包中的Python.h文件。如果系统缺少Python.h文件,虽然之后安装OSS Python SDK不会失败,但crcmod的C扩展模式安装会失败。如果crcmod的C扩展模式安装失败,在上传、下载计算CRC校验码时会使用纯Python模式进行CRC数据校验。纯Python模式的性能远差于C扩展模式,从而导致上传、下载等操作效率非常低下。

Windows

在Windows系统安装Python时,会将Python依赖的头文件一并安装,因此无需安装python-devel。

macOS

在macOS系统安装Python时,会将Python依赖的头文件一并安装,因此无需安装python-devel。

CentOS

执行以下命令安装python-devel。

sudo yum install python-devel                 

RHEL

执行以下命令安装python-devel。

sudo yum install python-devel                 

Fedora

执行以下命令安装python-devel。

sudo yum install python-devel                 

Debian

执行以下命令安装python-devel。

sudo apt-get install python-dev                  

Ubuntu

执行以下命令安装python-devel。

sudo apt-get install python-dev                  

安装SDK

安装python-devel后,您可以选择以下方式安装OSS Python SDK。

pip

  1. 安装pip

    Python 2.7.9+或者Python 3.4+以上版本默认已安装pip。

  2. 执行以下命令安装最新版本的OSS Python SDK。

    pip install oss2                   

源码

  1. GitHub下载最新版本的OSS Python SDK,解压后进入目录,确认目录下有setup.py文件。

    如需下载历史版本的OSS Python SDK,请参见历史版本

  2. 执行以下命令安装OSS Python SDK。

    python setup.py install                   

验证SDK

安装SDK后,执行以下步骤验证已安装的OSS Python SDK。

  1. 执行以下命进入Python环境。

    python
  2. 执行以下命令查看OSS Python SDK版本。

    import oss2
    oss2.__version__                         

    成功返回示例如下。以下示例表明您已经成功安装OSS Python SDK 2.18.3。

    '2.18.3'

常见问题

报错No module named _crcfunext

问题现象

使用OSS Python SDK调用上传、下载接口较其他工具如ossutil或者其他SDK慢了很多

问题原因

编译crcmod时,由于_crcfunext.so依赖Python.h文件,而系统中缺少这个头文件,因此_crcfunext.so库生成失败。关于crcmod的更多信息,请参见crcmod introduction

解决方案

验证crcmod的C扩展模式是否安装成功。

  1. 执行以下命令进入Python环境。

    python
  2. 执行以下命令导入crcmod模块下的_crcfunext的C扩展模块。

    import crcmod._crcfunext

    出现以下错误提示,表明crcmod库的C扩展模式安装失败。

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ImportError: No module named _crcfunext                                 
  3. 根据系统环境选择解决方案。

    Windows

    1. 下载crcmod-1.7.win32-py2.7.msi或者其他版本的.msi文件。

      说明

      win32位的crcmod同时兼容win32以及win64系统。

    2. 安装.文件mis并在安装过程中指定crcmod的安装路径到您本地python安装路径下的Lib\site-packages文件夹。例如D:\python\Lib\site-packages\

    3. 安装完成后,再执行验证crcmod的步骤。

    Linux

    对于Linux系统,如果出现该问题,请执行以下步骤:

    1. 执行以下命令卸载crcmod。

      pip uninstall crcmod
    2. 安装python-devel。具体操作,请参见安装python-devel

    3. 执行以下命令重新安装crcmod。

      pip install crcmod

      如果执行上述步骤依然安装失败,卸载crcmod,然后执行以下命令查看安装失败的详细原因。

      pip install crcmod -v

报错No module named 'Crypto'

问题现象

如果执行程序时出现No module named 'Crypto'错误,

问题原因

不存在Crypto或存在crypto

解决方案

查看本地Python安装路径下的Crypto,例如D:\python3.9\Lib\site-packages

  • 如果不存在Crypto,执行以下命令。

    python -m pip install --upgrade setuptools
  • 如果存在crypto(首字母小写),将首字母改为大写,然后再次尝试启动程序。

提示“不是内部或外部命令”

Windows环境中,如果提示“不是内部或外部命令”,请在环境变量中编辑Path,增加Python和pip的安装路径。pip的安装路径一般为Python所在目录的Scripts文件夹。编辑环境变量后,您可能需要重启电脑使环境变量生效。

安装OSS Python SDK失败

如果安装OSS Python SDK失败,执行以下命令卸载后重新安装。

pip uninstall oss2            

如何升级OSS Python SDK

执行以下命令升级OSS Python SDK。

 pip install --upgrade oss2

后续步骤

安装Python SDK后,您需要配置访问凭证。详情请参见配置访问凭证