从其他人那把Python的安装文件拷贝到自己电脑上,然后修改自己的环境变量就可以使用,这样不过是为了直接用别人已经安装好的大量第三方的包和模块(当然就不需要自己苦逼歪歪的去一个一个下载安装喽!)
但随之而来的一个问题却让人头疼:在想安装一些自己需要的第三方模块时(比如pywin32,py2exe,wmi等等),直接下载好exe文件双击安装,它会自动搜索Python的安装路径,但我们是拷贝过来直接用的,没有在系统上注册,所以它搜不到Python的安装路径就不能安装。真是崩溃,我也曾经被折磨的要死,蠢到自己又下了Python安装包安装后,一个一个的装模块(最无奈的选择)。
为了拯救苍生(哈哈),奉献给大家一个用于把Python注册到Windows系统的脚本register.py:
#ZPF-优快云
import sys
from _winreg import *
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执行一下:
python register.py
它会告诉你:
Python 2.7 is now registered!
注册成功之后,你的第三方包,模块就可以自动搜索到你电脑上Python安装路径,然后就下一步下一步喽,你懂得!