windows Python/pip/numpy/matplot/scipy安裝
最近在研究觸控屏設備的手寫軌跡擬合(仿真),需要用到貝塞爾曲線。某一天,突然在網上看到一篇博客,有理有據,清晰易懂,瞬間膜拜。所以決定研究一下。它的地址是:
優秀的作者裏邊給出了算法,是python腳本寫的。需要用到numpy、matplot、scipy等。安裝這些庫過程中,踩了不少坑,如果熟悉的話,完全可以避免,所以記錄一下。希望小夥伴在安裝之前可以首先找到這篇,避免去填這些坑吧。
對了,我是window10平臺。
先說一下正確的姿勢:
python3+安裝
直接去官網下載目標版本:
我這裏下載的是3.7.4版本 python-3.7.4.exe
雙擊安裝即可,建議安裝儘量自定義安裝,這樣不僅可以自己選擇安裝目錄(C盤太大了電腦會越用越卡),也可以安裝IDE、pip、同時將python以及相關庫添加進環境變量等等。
我安裝時選擇的是自定義安裝,並且將所有安裝選項都安裝好了。這樣安裝好後pip之類的,就不用額外安裝了。同時,各種環境變量也都配置好了。
接下來正常的操作就是安裝numpy、scipy、matplot了。
安裝了pip之後,可以直接使用
pip install matplot
就可以安裝成功了。需要說明的是scipy和numpy的安裝。
scipy安裝
如果直接使用
pip install scipy
多半都是失敗的。因爲pip工具,默認下載的scipy版本只適合linux/unix 系統。所以我們只能手動去下載安裝:
下載地址:
該網頁整合了非常多的庫,scipy位置可能需要翻很久,此時,你只需要CTRL + F 組合鍵在瀏覽器搜一下scipy可以快速跳轉到scipy的下載界面。
這裏的命名規則有點不清楚,網頁中應該也有寫,但沒去看,下了幾個嘗試了一下。規則大概是:
庫名稱-版本號-對應的python版本號-python版本號+m-平臺.whl
如scipy‑1.2.2‑cp27‑cp27m‑win32.whl表示:運行在win32位平臺,對應python2.7的1.2.2版本的scipy。
因爲我的電腦是window平臺,python版本是3.7,所以下載scipy‑1.2.2‑cp37‑cp37m‑win32.whl
並通過
pip install scipy‑1.2.2‑cp37‑cp37m‑win32.whl
安裝成功了。此前安裝scipy‑1.3.2‑cp37‑cp37m‑win32.whl和scipy‑1.2.2‑cp37‑cp37m‑win_amd64.whl都是不成功的。都報如下異常:
scipy-1.3.2-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.
所以建議大家儘量選擇scipy的舊版本、平臺選擇32位安裝。
numpy安裝
pip install numpy
命令安裝numpy是可以直接成功。於是,我直接運行了腳本。結果~
Traceback (most recent call last):
File "D:/workspace/py/Bezier_study/bezier.py", line 4, in <module>
from scipy.special import comb, perm
File "E:\devSoftware\python37\lib\site-packages\scipy\special\__init__.py", line 641, in <module>
from ._ufuncs import *
ImportError: DLL load failed: 找不到指定的模塊。
Duang~ 異常來得猝不及防。
找不到模塊,Google了半天,原來numpy中有個叫mkl的模塊,通過命令安裝時,並不會包含該模塊。所以又只能手動操作了。
-
下載包含了mkl模塊的numpy:
numpy+mkl下載連接 -
卸載之前通過命令安裝的numpy:
pip uninstall numpy
-
命令安裝下載好的numpy+mkl:
pip install numpy-1.16.5+mkl-cp37-cp37m-win32.whl
numpy就可以正常安裝了。
Python2.7 pip安裝
python2.7安裝後,沒有python3+那麼方便,無法在安裝的同時將pip裝上。只能手動下載pip。
解壓後,進入到文件夾 shift + 鼠標左鍵,打開dos窗口。執行:
python setup.py install
PS C:\**\pip-19.3.1> python2.7 setup.py install
Traceback (most recent call last):
File "setup.py", line 9, in <module>
from setuptools import find_packages, setup
ImportError: No module named setuptools
報錯,沒有setuptools模塊,去下載和安裝該模塊。
解壓後,同樣的方式進入解壓文件夾,這時可以看到setup.py。
python2.7 setup.py install
這裏我沒遇到什麼問題,如果看到:
Installed /usr/lib/python2.7/site-packages/setuptools-41.6.0-py2.7.egg
Processing dependencies for setuptools==41.6.0
Finished processing dependencies for setuptools==41.6.0
說明也安裝成功了。
我們回到pip安裝:
Installed /usr/lib/python2.7/site-packages/pip-19.3.1-py2.7.egg
Processing dependencies for pip==19.3.1
Finished processing dependencies for pip==19.3.1
Ok,看到Finished的輸出,表示已經可用了。
pip 安裝之後,在執行的python安裝目錄下,會生成一個Scripts的目錄,pip.py便在這裏。需要把Scripts配置到環境變量中,纔可以在console中執行pip。