zoukankan      html  css  js  c++  java
  • 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_USERSOFTWAREPythonPythoncorex.x(注:版本,比如2.7,3.6)InstallPath  

    这个key的value必须是系统path中python的安装路径,

    HKEY_CURRENT_USERSOFTWAREPythonPythoncorex.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=xxxxGraphviz2.38include" --install-option="--library-path=xxxxGraphviz2.38lib eleaselib"

      请用全路径代替上述红色部分,执行会提示成功。

      至此pygranphviz完全安装成功,通过import pygraphviz 可以验证是否安装成功。

        

     

  • 相关阅读:
    redis全面解析
    SoapUI Pro Project Solution Collection-change the JDBC Request behavior
    SoapUI Pro Project Solution Collection-Test Step Object
    SoapUI Pro Project Solution Collection-access the soapui object
    SoapUI Pro Project Solution Collection –Easy develop Groovy Script to improve SoapUI ability
    Eclipse 个人使用配置
    Selenium 致命杀手(有关自动化的通病)
    Open-Source performance testing tools(From other site)
    麦当劳理论(转转转)
    java command line error opening registry key 'SoftwareJavaSoftJava Runtime Environment' java.dll
  • 原文地址:https://www.cnblogs.com/leenid/p/7029015.html
Copyright © 2011-2022 走看看