Python中的Numpy、SciPy、MatPlotLib安裝與配置

来源:http://www.cnblogs.com/python2016/archive/2016/08/07/5745644.html
-Advertisement-
Play Games

Python安裝完Numpy,SciPy和MatplotLib後,可以成為非常犀利的科研利器。網上關於這三個庫的安裝都寫得非常不錯,但是大部分人遇到的問題並不是如何安裝,而是安裝好後因為配置不當,在使用時總會出現import xxx error之類的錯誤。我也是自己摸索了很久才發現如何去正確配置的。 ...


Python安裝完Numpy,SciPy和MatplotLib後,可以成為非常犀利的科研利器。網上關於這三個庫的安裝都寫得非常不錯,但是大部分人遇到的問題並不是如何安裝,而是安裝好後因為配置不當,在使用時總會出現import xxx error之類的錯誤。我也是自己摸索了很久才發現如何去正確配置的。下麵就詳細說下安裝和配置的過程。

1.安裝Python,這裡選擇2.7還是3.4都行,不過推薦使用2.7,畢竟現在的教程大部分還是基於2.7的,3.4跟2.7的語法還是略有不同,為了避免語法錯誤的麻煩,還是推薦大家使用2.7。下載地址為:https://www.python.org/downloads/

2.下載Numpy,SciPy,MatplotLib這三個庫的exe,註意,這裡用的是exe,因為MatplotLib的使用需要以Numpy的支持,所以最好先裝NumPy再裝MatplotLib。下載地址:

其中NumPy和SciPy沒有32和64位的區別,MatPlotLib需要根據自己的系統選擇32位和64位的。再次提醒,這三個庫一定都要下載對應版本的exe。下載完成後一次安裝就是了,他們會自動找到你之前安裝好的Python所在的路徑的,一路Next到底就行了。

3.在第2步安裝完成後,可以在MatPlotLib的Examples頁面(http://matplotlib.org/examples/index.html)Copy代碼運行,發現一定會出錯。這裡出的錯,大體有三個:

  • ImportError: matplotlib requires dateutil
  • ImportError: matplotlib requires pyparsing
  • No module name six

4.解決No module name six問題,解決辦法很簡單。把你的安裝路徑:Python27/Lib/site-packages/scipy/lib中的six.py,six.pyc,six.pyo三個文件拷貝到 你的安裝路徑:Python27/Lib/site-packages,這個問題就解決了。如何還不行,請記住這個地址(非常重要):http://www.lfd.uci.edu/~gohlke/pythonlibs/ 
然後下載這個文件:six‑1.9.0‑py2.py3‑none‑any.whl,下載後,利用CMD進入到該文件所在的目錄(DOS命令為:cd /d XX:/XXX/six‑1.9.0‑py2.py3‑none‑any.whl 把你自己的six文件的所在路徑按格式粘貼進DOS然後回車就行了),然後輸入命令:pip install six-1.9.0-py2.py3-none-any.whl,等DOS命令跑完,six不存在的問題就解決了。操作圖如下: 
這裡寫圖片描述

5.解決ImportError: matplotlib requires dateutil問題,方法和第4步一樣,下載python_dateutil‑2.4.2‑py2.py3‑none‑any.whl,然後pip install就可以解決該問題了。操作如下: 
這裡寫圖片描述

6.解決ImportError: matplotlib requires pyparsing問題,還如同之前一樣,下載pyparsing‑2.0.3‑py2‑none‑any.whl(選擇對應的版本,這裡有2和3的區別)然後利用pip install安裝好就可以了。操作如下: 
這裡寫圖片描述

到此,所有的配置就完成了,可以愉快地使用MatPlotLib進行科學畫圖和計算了。另外提醒一句,Python2.7和Python3.4不要共存,共存的時候安裝這幾個庫會出現莫名其妙地錯誤,怎麼也對不了,推薦只是用Python2.7,。最後,附帶一個來自MatPlotLib的畫圖代碼:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm

fig = plt.figure()
ax = fig.gca(projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
cset = ax.contour(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm)
cset = ax.contour(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm)
cset = ax.contour(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm)

ax.set_xlabel('X')
ax.set_xlim(-40, 40)
ax.set_ylabel('Y')
ax.set_ylim(-40, 40)
ax.set_zlabel('Z')
ax.set_zlim(-100, 100)

plt.show()


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • mysql簡介 1、什麼是資料庫 ? 資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今六十多年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種 ...
  • 介紹 本篇文章主要介紹搭建MMM方案以及MMM架構的原理。這裡不介紹主從、主主的搭建方法,MMM方案不適用對數據一致性要求很高的業務。 架構 部署 1.修改hosts 在所有的伺服器中執行相同的操作。 vim /etc/hosts 192.168.137.10 master 192.168.137. ...
  • 24 MySQL sys框架 24 MySQL sys框架... 1 24.1 sys框架的前提條件... 1 24.2 使用sys框架... 2 24.3 sys框架進度報告... 3 24.4 sys框架的對象... 3 24.4.1所有sys下的對象... 3 24.4.2 sys框架的表和觸 ...
  • mysql slowlog 使用與介紹 slow_query_log =1 是否打開 slow_query_log_file = /data/mysql_data/node-1/mysql-slow.log --位置 long_query_time=5 閾值時間 log_output = {file ...
  • CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 在tigase中,發送消息有文本的形式,比如發送emoji表情, 編碼必須採用 utf8mb4 , utf8mb4 is a ...
  • 以前刪除文件經常Move to trash,今天想清空發現根本不知道回收站在哪裡,囧。遂Google之,於是發現在 ~/.local/share/Trash目錄下。 打開目錄看看有什麼東西: Trash下共三個文件夾,很容易看出來files下麵是刪除的文件,info下麵是對應文件的信息,存儲了刪除的 ...
  • 參考: operatingfocus.bokee.com/3327857.html www.oschina.net/code/snippet_237505_8646 www.cnblogs.com/techdoc/archive/2010/12/22/1913521.html 一.多進程編程里常用的 ...
  • Nice Dcv 安裝部署文檔 1、安裝渲染伺服器系統 渲染伺服器即為安裝有高性能物理顯卡的伺服器。 本測試使用RHEL6.0_x64系統,安裝過程選擇安裝KVM虛擬化平臺,Desktops、Development軟體包。 安裝過程部分截圖: 安裝完成後,可使用命令行或圖形界面(setup)的方式配 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...