Windows系統Python包的安裝


本文針對於Python初學者,Python老鳥請繞道。

 

最近同時嘗試在Windows10、MacOS、Ubuntu三個系統上安裝Python相關的包,整體比較,Ubuntu最簡單,Windows10最復雜。

建議:如果可能,盡量使用Linux系統,Windows10系統最好謹慎入坑。

以下記錄Windows平台部分相關模塊的安裝問題:

1、 區分python是32位還是64位,這個至關重要。注意:並不是Windows系統,而是Python。

查看方式:在cmd中輸入python,看下圖中紅圈的部分,一個系統中

2、pywin32

如果python要使用windows系統API的庫,那首先要安裝的是pywin32,官方下載鏈接:

https://sourceforge.net/projects/pywin32/files/pywin32/

1)點擊上述鏈接會看到很多版本,點擊要安裝的版本號,會進入一個列表,

注意:請按照python的版本和python的位數選擇對應的文件,比如

pywin32-221.win-amd64-py2.6.exe -> python2.6.x版本(py2.6),64bit(win-amd64)

pywin32-221.win32-py3.7.exe  -> python3.7.x版本(py3.7),32bit(win32)

這個一定要選擇正確,否則后期會提示"dll load faild:%1 不是有效的win32程序",這都是32bit和64bit不匹配的問題。

2)下載后,在安裝時會有兩種問題,提示“找不到python模塊“,或者“python沒有注冊”的錯誤。

問題1:找不到python模塊,而且不支持手動添加python目錄。

解決方式,請在系統的path中添加python的目錄。

問題2:這個是需要導入一個注冊表。

一般的解決方法是執行下邊的python程序即可解決(該方式來源於網上)。

 1 #
 2 # script to register Python 2.0 or later for use with win32all
 3 # and other extensions that require Python registry settings
 4 #
 5 # written by Joakim Loew for Secret Labs AB / PythonWare
 6 #
 7 # source:
 8 # http://www.pythonware.com/products/works/articles/regpy20.htm
 9 #
10 # modified by Valentine Gogichashvili as described in http://www.mail-archive.com/distutils-sig@python.org/msg10512.html
11 
12 import sys
13 
14 from _winreg import *
15 
16 # tweak as necessary
17 version = sys.version[:3]
18 installpath = sys.prefix
19 
20 regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
21 installkey = "InstallPath"
22 pythonkey = "PythonPath"
23 pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
24     installpath, installpath, installpath
25 )
26 
27 
28 def RegisterPy():
29     try:
30         reg = OpenKey(HKEY_CURRENT_USER, regpath)
31     except EnvironmentError as e:
32         try:
33             reg = CreateKey(HKEY_CURRENT_USER, regpath)
34             SetValue(reg, installkey, REG_SZ, installpath)
35             SetValue(reg, pythonkey, REG_SZ, pythonpath)
36             CloseKey(reg)
37         except:
38             print "*** Unable to register!"
39             return
40         print "--- Python", version, "is now registered!"
41         return
42     if (QueryValue(reg, installkey) == installpath and
43                 QueryValue(reg, pythonkey) == pythonpath):
44         CloseKey(reg)
45         print "=== Python", version, "is already registered!"
46         return
47     CloseKey(reg)
48     print "*** Unable to register!"
49     print "*** You probably have another Python installation!"
50 
51 
52 if __name__ == "__main__":
53     RegisterPy()

我們仔細分析下代碼,其實就是pywin32在執行前要先檢查注冊表的以下兩項:

HKEY_CURRENT_USER\SOFTWARE\Python\Pythoncore\x.x(注:版本,比如2.7,3.6)\InstallPath  

這個key的value必須是系統path中python的安裝路徑,

HKEY_CURRENT_USER\SOFTWARE\Python\Pythoncore\x.x(注:版本,比如2.7,3.6)\PythonPath

這個key的value必須是系統path中python的安裝路徑、Lib、DLLs的路徑,沒有找到就創建相應的key並賦值。

所以也可以自己直接手動修改regedit。

3)通過python環境下,import  win32api 來驗證是否安裝成功。

 

3、numby的安裝

numby是很多模塊的依賴庫,比如pandas、scipy、matplotlib等,由於numby使用了部分C編譯的內容,直接通過pip、easy_install等會出錯。

在http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 下載預編譯包,通過pip安裝

注意1:python版本和位數,如果不正確,則在安裝時會報錯。

numpy‑1.11.3+mkl‑cp27‑cp27m‑win32.whl -> python2.7.x版本(cp27),32bit(win32)

numpy‑1.11.3+mkl‑cp36‑cp36m‑win_amd64.whl -> python3.6.x版本(cp36),64bit(win_amd64)

注意2:安裝前請先升級pip版本,否則有可能會失敗。

 

4、scipy的安裝

  scipy的安裝和numpy類似,參考事項參見numpy

  http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

 

5、graphviz的安裝

  graphviz是一個圖像軟件,在python下通過pygraphviz來連接。

  1)下載並安裝 graphviz

  http://www.graphviz.org/download/

  2)下載pygraphviz的源碼包並解壓,解壓時請使用管理員權限打開解壓縮工具進行解壓 

  https://pypi.python.org/pypi/pygraphviz/

  3) 安裝vc++編譯器

  2.7:http://aka.ms/vcpython27

       3.6 : http://landinghub.visualstudio.com/visual-cpp-build-tools

  4)通過python setup.py install安裝,安裝到最后會提示出錯。

  5)下載 pygraphviz的預編譯包並執行,請注意版本和位數

  http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz

  下載后通過pip安裝,會提示成功。

  6)執行以下命令

  pip install pygraphviz --install-option="--include-path=xxxx\Graphviz2.38\include" --install-option="--library-path=xxxx\Graphviz2.38\lib\release\lib"

  請用全路徑代替上述紅色部分,執行會提示成功。

  至此pygranphviz完全安裝成功,通過import pygraphviz 可以驗證是否安裝成功。

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM