由于工作上要用python进行数据采集和文本分析,鄙人又是软件只用最新版的狂人,于是在windows8 64位下配置python走上了一条不归路,以下是不归路的一些经验。
1.Python在windows7/8下安装Setuptools,执行ez_setup.py进行安装时会发生错误,提示编码问题导致异常 解决办法:编辑Python安装目录下的mimetypes.py文件,在文件中对应位置增加【3-6行】的部分内容
1 2 3 4 5 6 7 8 import osimport sysreload(sys) sys.setdefaultencoding('gb18030' ) import posixpathimport urllib
2.安装插件后import导入提示:ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。 解决办法:安装64位的插件,部分64位的插件可以在下面这个网站上找到:http://www.lfd.uci.edu/~gohlke/pythonlibs/#libxml-python
3.安装第三方库出现 Python version 2.7 required, which was not found in the registr。 解决办法:建立一个文件 register.py ,内容如下.,然后执行该脚本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import sysfrom _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()
4.安装一些模块时,提示:Python error: Unable to find vcvarsall.bat 解决办法:安装Vs2008 64位版,没错!就是Microsoft Visual Studio 2008 X64!记得安装的时候,勾选 Visual C++下面的“X64编译器和工具”的选项!当然也有安装MinGW或者安装VS2010,不过都需要配置,安装VS2008是最简单的。 [