Windows 無法透過 pip 安裝 pdfplumber,怎麼辦? 解決方法紀錄

在 Windows 的環境下,透過

pip install pdfplumber

會出現下述的問題,

ERROR: Command errored out with exit status 1:
command: 'D:\WPy64-3850\python-3.8.5.amd64\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\hcwang\\AppData\\Local\\Temp\\pip-download-dgt14vmc\\pdfplumber\\setup.py'"'"'; __file__='"'"'C:\\Users\\hcwang\\AppData\\Local\\Temp\\pip-download-dgt14vmc\\pdfplumber\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\hcwang\AppData\Local\Temp\pip-pip-egg-info-pi0qe191'
cwd: C:\Users\hcwang\AppData\Local\Temp\pip-download-dgt14vmc\pdfplumber\
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\hcwang\AppData\Local\Temp\pip-download-dgt14vmc\pdfplumber\setup.py", line 19, in <module>
long_description = f.read()
UnicodeDecodeError: 'cp950' codec can't decode byte 0xe2 in position 9728: illegal multibyte sequence
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

畫紅線的部分,就是造成安裝上的問題。因此,在 Microsoft 的 Winpython 的環境下,可以沒有辦法透過 pip 安裝 pdfplumber ,但是可以採用下述的做法,完成安裝。


下載 pdfplumber 原始碼

請至 pypi/pdfplumber 下載檔案。你可以在左手邊的導覽列看到 Download Files 的連結,下載後,透過解縮壓軟體,解壓。


修改 setup.py 檔

出現問題的地方,主要出現在 setup.py 的第 19 行,即下面的區段

with open(os.path.join(HERE, "README.md")) as f:
    long_description = f.read()

因為 README.md 的檔案編碼為 UTF-8 ,而 Windows 是透過 CP950 編碼讀取,部分的說明文字有衝碼的問題,只需將上述的內容改為

with open(os.path.join(HERE, "README.md"), encoding='utf-8') as f:
    long_description = f.read()


手動安裝

然後,執行

python setup.py install

即可完成安裝

留言

這個網誌中的熱門文章

在 Chromebook 上使用嘸蝦米輸入法簡介

修復 Thunderbird 壓實重整造成的信件內容異常

我的知識收集方法--方法與工具篇