Python安裝
如果您需要管理OSS存儲空間、上傳下載文件、管理數(shù)據(jù)、進行圖片處理等,可以先安裝OSS Python SDK。本文介紹如何安裝OSS Python SDK。
環(huán)境準備
安裝Python。
OSS Python SDK適用于Python 2.6、2.7、3.3、3.4、3.5、3.6、3.7、3.8及以上版本。
說明Windows環(huán)境中安裝Python SDK時,需確保Visual C++版本為15.0或以上。
安裝完成后,執(zhí)行以下命令查看Python版本。
python --version
成功返回示例如下。以下示例表明您已成功安裝Python 3.8.2。
Python 3.8.2
下載SDK
更多信息,請參見OSS API文檔。
安裝python-devel
完成環(huán)境準備后,您需要先要安裝python-devel包。
OSS Python SDK需要crcmod計算CRC校驗碼,而crcmod依賴python-devel包中的Python.h文件。如果系統(tǒng)缺少Python.h文件,雖然之后安裝OSS Python SDK不會失敗,但crcmod的C擴展模式安裝會失敗。如果crcmod的C擴展模式安裝失敗,在上傳、下載計算CRC校驗碼時會使用純Python模式進行CRC數(shù)據(jù)校驗。純Python模式的性能遠差于C擴展模式,從而導(dǎo)致上傳、下載等操作效率非常低下。
Windows
在Windows系統(tǒng)安裝Python時,會將Python依賴的頭文件一并安裝,因此無需安裝python-devel。
macOS
在macOS系統(tǒng)安裝Python時,會將Python依賴的頭文件一并安裝,因此無需安裝python-devel。
CentOS
執(zhí)行以下命令安裝python-devel。
sudo yum install python-devel
RHEL
執(zhí)行以下命令安裝python-devel。
sudo yum install python-devel
Fedora
執(zhí)行以下命令安裝python-devel。
sudo yum install python-devel
Debian
執(zhí)行以下命令安裝python-devel。
sudo apt-get install python-dev
Ubuntu
執(zhí)行以下命令安裝python-devel。
sudo apt-get install python-dev
安裝SDK
安裝python-devel后,您可以選擇以下方式安裝OSS Python SDK。
pip
安裝pip。
Python 2.7.9+或者Python 3.4+以上版本默認已安裝pip。
執(zhí)行以下命令安裝最新版本的OSS Python SDK。
pip install oss2
源碼
驗證SDK
安裝SDK后,執(zhí)行以下步驟驗證已安裝的OSS Python SDK。
執(zhí)行以下命進入Python環(huán)境。
python
執(zhí)行以下命令查看OSS Python SDK版本。
import oss2 oss2.__version__
成功返回示例如下。以下示例表明您已經(jīng)成功安裝OSS Python SDK 2.18.3。
'2.18.3'
常見問題
報錯No module named _crcfunext
問題現(xiàn)象
使用OSS Python SDK調(diào)用上傳、下載接口較其他工具如ossutil或者其他SDK慢了很多
問題原因
編譯crcmod時,由于_crcfunext.so依賴Python.h文件,而系統(tǒng)中缺少這個頭文件,因此_crcfunext.so庫生成失敗。關(guān)于crcmod的更多信息,請參見crcmod introduction。
解決方案
驗證crcmod的C擴展模式是否安裝成功。
執(zhí)行以下命令進入Python環(huán)境。
python
執(zhí)行以下命令導(dǎo)入crcmod模塊下的_crcfunext的C擴展模塊。
import crcmod._crcfunext
出現(xiàn)以下錯誤提示,表明crcmod庫的C擴展模式安裝失敗。
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named _crcfunext
根據(jù)系統(tǒng)環(huán)境選擇解決方案。
Windows
下載crcmod-1.7.win32-py2.7.msi或者其他版本的.msi文件。
說明win32位的crcmod同時兼容win32以及win64系統(tǒng)。
安裝.文件mis并在安裝過程中指定crcmod的安裝路徑到您本地python安裝路徑下的Lib\site-packages文件夾。例如D:\python\Lib\site-packages\。
安裝完成后,再執(zhí)行驗證crcmod的步驟。
Linux
對于Linux系統(tǒng),如果出現(xiàn)該問題,請執(zhí)行以下步驟:
執(zhí)行以下命令卸載crcmod。
pip uninstall crcmod
安裝python-devel。具體操作,請參見安裝python-devel。
執(zhí)行以下命令重新安裝crcmod。
pip install crcmod
如果執(zhí)行上述步驟依然安裝失敗,卸載crcmod,然后執(zhí)行以下命令查看安裝失敗的詳細原因。
pip install crcmod -v
報錯No module named 'Crypto'
問題現(xiàn)象
如果執(zhí)行程序時出現(xiàn)No module named 'Crypto'
錯誤,
問題原因
不存在Crypto
或存在crypto
。
解決方案
查看本地Python安裝路徑下的Crypto,例如D:\python3.9\Lib\site-packages
。
如果不存在Crypto,執(zhí)行以下命令。
python -m pip install --upgrade setuptools
如果存在crypto(首字母小寫),將首字母改為大寫,然后再次嘗試啟動程序。
提示“不是內(nèi)部或外部命令”
Windows環(huán)境中,如果提示“不是內(nèi)部或外部命令”,請在環(huán)境變量中編輯Path
,增加Python和pip的安裝路徑。pip的安裝路徑一般為Python所在目錄的Scripts文件夾。編輯環(huán)境變量后,您可能需要重啟電腦使環(huán)境變量生效。
安裝OSS Python SDK失敗
如果安裝OSS Python SDK失敗,執(zhí)行以下命令卸載后重新安裝。
pip uninstall oss2
如何升級OSS Python SDK
執(zhí)行以下命令升級OSS Python SDK。
pip install --upgrade oss2
后續(xù)步驟
安裝Python SDK后,您需要配置訪問憑證。詳情請參見配置訪問憑證。