python一些模块的exe安装包在windows的64位系统里识别不到已安装Python目录的解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python一些模块的exe安装包在windows的64位系统里识别不到已安装Python目录的解决方法相关的知识,希望对你有一定的参考价值。

在windows里安装python一些模块时候,有时候源码安装比较困难,pip install也各种报错,这时候最喜欢用别人编译好的exe或者whl文件来安装,但是在windows的64位系统里,如果有一些安装包没怎么考虑过在64位系统上的安装,在安装时候就会找不到你自己安装的python目录。

解决法子:运行国外这个脚本,即可把你64位系统上的python目录添加至注册表里。

#
# script to register Python 2.0 or later for use with win32all
# and other extensions that require Python registry settings
#
# written by Joakim Loew for Secret Labs AB / PythonWare
#
# source:
# http://www.pythonware.com/products/works/articles/regpy20.htm
#
# modified by Valentine Gogichashvili as described in http://www.mail-archive.com/[email protected]/msg10512.html

import sys

from _winreg import *

# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix

regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
    installpath, installpath, installpath
)

def RegisterPy():
    try:
        reg = OpenKey(HKEY_CURRENT_USER, regpath)
    except EnvironmentError as e:
        try:
            reg = CreateKey(HKEY_CURRENT_USER, regpath)
            SetValue(reg, installkey, REG_SZ, installpath)
            SetValue(reg, pythonkey, REG_SZ, pythonpath)
            CloseKey(reg)
        except:
            print "*** Unable to register!"
            return
        print "--- Python", version, "is now registered!"
        return
    if (QueryValue(reg, installkey) == installpath and
        QueryValue(reg, pythonkey) == pythonpath):
        CloseKey(reg)
        print "=== Python", version, "is already registered!"
        return
    CloseKey(reg)
    print "*** Unable to register!"
    print "*** You probably have another Python installation!"

if __name__ == "__main__":
    RegisterPy()

 

以上是关于python一些模块的exe安装包在windows的64位系统里识别不到已安装Python目录的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在windows下安装python虚拟环境

windows开发环境下python中的PIL包如何安装

windows(32位 64位)下python安装mysqldb模块

NumPySciPy 等Python包在Windows下的whl安装包下载

pip装的包在windos和linux是一样的吗

Pycharm/Python第三方模块配置