本文介绍如何安装Python SDK。
环境准备
OSS Python SDK适用于Python 2.6、2.7、3.3、3.4、3.5、3.6、3.7、3.8版本。
- 安装环境
根据Python官网的引导安装合适的Python版本。
- 查看版本
执行命令
python -V
查看Python版本。Windows环境中,如果提示“不是内部或外部命令”,请在环境变量中编辑
Path
,增加Python和pip的安装路径。pip的安装路径一般为Python所在目录的Scripts文件夹。说明 您可能需要重启电脑使环境变量生效。
下载SDK
更多信息请参见OSS API文档。
安装python-devel
由于SDK需要crcmod库计算CRC校验码,而crcmod依赖Python.h文件,如果系统缺少这个头文件,安装SDK不会失败,但crcmod的C扩展模式安装会失败,因此导致上传、下载等操作效率非常低下。如果python-devel包不存在,则首先要安装这个包。
- 对于Windows和Mac OS X系统,由于安装Python的时候会将Python依赖的头文件一并安装,因此您无需安装python-devel。
- 对于CentOS、RHEL、Fedora系统,请执行以下命令安装python-devel:
yum install python-devel
- 对于Debian,Ubuntu系统,请执行以下命令安装python-devel:
apt-get install python-dev
安装SDK
验证
- 验证SDK版本
- 在命令行输入
python
并回车,进入Python环境。 - 执行以下命令检查SDK版本:
>>> import oss2 >>> oss2.__version__ '2.0.0'
上面的输出表明您已经成功安装了Python SDK 2.0.0。
- 在命令行输入
- 验证crcmod
OSS的CRC数据校验有两种方式:C扩展模式(通过SDK的依赖库crcmod调用扩展库_crcfunext.so计算CRC)和纯Python模式。前者的性能远优于后者。安装oss2时会自动安装crcmod。crcmod详情请参见crcmod introduction。
如果发现安装SDK之后调用上传、下载接口较其他工具如ossutil或者其他SDK慢了很多,有可能是安装SDK的依赖库crcmod的C扩展模式失败,导致在上传、下载计算CRC校验码时采用了纯Python模式。
验证crcmod的C扩展模式是否安装成功的方法如下:
- 在命令行输入
python
并回车,进入Python环境。 - 输入
import crcmod._crcfunext
并回车。- 如果没有出现错误提示,则表明crcmod库的C扩展模式安装成功。
- 如果出现以下错误提示,则表明crcmod库的C扩展模式安装失败。
>>> import crcmod._crcfunext Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named _crcfunext
出现这种情况的原因是编译crcmod时,由于_crcfunext.so依赖Python.h文件,而系统中缺少这个头文件,因此_crcfunext.so库生成失败。CRC数据校验就会使用纯Python方式。虽然SDK安装成功,但是上传、下载等操作的效率非常低下。
如果出现该问题,请执行以下步骤:
- 执行以下命令卸载crcmod:
pip uninstall crcmod
- 安装python-devel
- 执行以下命令重新安装crcmod:
pip install crcmod
如果执行上述步骤依然安装失败,请卸载crcmod,然后执行以下命令查看安装失败的详细原因:
pip install crcmod -v
- 执行以下命令卸载crcmod:
- 在命令行输入
卸载SDK
如果安装失败,建议通过pip卸载然后重装。卸载命令如下:
pip uninstall oss2