本文介绍如何安装Python SDK。
环境准备
OSS Python SDK适用于Python 2.6、2.7、3.3、3.4、3.5、3.6、3.7、3.8及以上版本。
- 安装环境
根据Python官网的引导安装合适的Python版本。
重要 在Windows平台安装Python SDK时,需确保Visual C++为15.0或以上版本。 - 查看版本
执行命令
python -V
查看Python版本。Windows环境中,如果提示“不是内部或外部命令”,请在环境变量中编辑
Path
,增加Python和pip的安装路径。pip的安装路径一般为Python所在目录的Scripts文件夹。重要 您可能需要重启电脑使环境变量生效。
下载SDK
安装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。
sudo yum install python-devel
- 对于Debian,Ubuntu系统,请执行以下命令安装python-devel。
sudo apt-get install python-dev
安装SDK
验证
No module named 'Crypto'
错误,请查看本地Python安装路径下是否存在Crypto(参考路径:D:\python3.9\Lib\site-packages
)。如果不存在则执行python -m pip install --upgrade setuptools
命令,如果存在crypto(首字母小写),请将首字母改为大写,再次尝试启动程序。- 验证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安装成功,但是上传、下载等操作的效率低下。
对于Windows系统,如果出现该问题,请下载crcmod-1.7.win32-py2.7.msi或者其他版本的.msi文件进行安装,并在安装过程中指定crcmod的安装路径到您本地python安装路径下的Lib\site-packages文件夹,例如D:\python\Lib\site-packages\。安装完成后,再执行验证crcmod的步骤。
说明 win32位的crcmod同时兼容win32以及win64系统。对于Linux系统,如果出现该问题,请执行以下步骤:
- 执行以下命令卸载crcmod。
pip uninstall crcmod
- 安装python-devel。具体操作,请参见安装python-devel。
- 执行以下命令重新安装crcmod。
pip install crcmod
如果执行上述步骤依然安装失败,请卸载crcmod,然后执行以下命令查看安装失败的详细原因。
pip install crcmod -v
- 执行以下命令卸载crcmod。
- 在命令行输入
卸载SDK
如果安装失败,建议通过pip卸载然后重装。卸载命令如下:
pip uninstall oss2