Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89164
  • 博文数量: 99
  • 博客积分: 55
  • 博客等级: 民兵
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-20 21:29
文章分类

全部博文(99)

文章存档

2013年(5)

2012年(94)

我的朋友

分类:

2013-01-10 20:49:09

原文地址:windows 安装msgpack-python 作者:kanghtta

安装过程中遇到几个问题:
记录做备忘:
error: Unable to find vcvarsall.bat处理:
1.将MinGw/bin 目录下make 命名为make.exe后添加到环境变量。
2. 2010 > SET VS90COMNTOOLS=%VS100COMNTOOLS% 
   2012 > SET VS90COMNTOOLS=%VS110COMNTOOLS%
 3.setup.py install build --compiler=mingw32`

error: command 'mt.exe' failed with exit status 31

修改Python27\Lib\distutils\msvc9compiler.py
  1. 找到这一行 ld_args.append(‘/MANIFESTFILE:’ + temp_manifest)  
  2. 然后在下面加入一行  
  3. ld_args.append(‘/MANIFEST’)
修改Python27\Lib\distutils\cygwinccompiler.py 点击(此处)折叠或打开
  1. self.set_executables(compiler='gcc -mno-cygwin -O -Wall',
  2.                              compiler_so='gcc -mno-cygwin -mdll -O -Wall',
  3.                              compiler_cxx='g++ -mno-cygwin -O -Wall',
  4.                              linker_exe='gcc -mno-cygwin',
  5.                              linker_so='%s -mno-cygwin %s %s'
  6.                                         % (self.linker_dll, shared_option,
  7.                                            entry_point))

修改为:

点击(此处)折叠或打开

  1. self.set_executables(compiler='gcc -O -Wall',
  2.                              compiler_so='gcc -mdll -O -Wall',
  3.                              compiler_cxx='g++ -O -Wall',
  4.                              linker_exe='gcc ',
  5.                              linker_so='%s %s %s'
  6.                                         % (self.linker_dll, shared_option,
  7.                                            entry_point))

------------------------------------------------------------------------------------------?

1 make
mingw官方提供的make工具,名称不是简单的make,而是mingw32-make.exe,把它改名成make.exe或者复制一份为make.exe都可以

2 gcc: CreateProcess: No such file or Directory 错误
这个问题在google里面很多人发问,但是没有一个完整的解答,下面给出一个完整的解答
产生这个错误有两个原因:
第一是gcc无法找到安装目录里面的libexec目录里面的工具,通常这些工具包括cc1.exe,cc1plus.exe,collect2.exe,它们通常存放在:
安装目录\libexec\gcc\mingw32\4.3.0
第二是gcc无法找到mingw目录里面binutils的工具,它们通常存放在
安装目录\mingw32\bin
这两个目录的名字并不完全固定,根据不同组织编译的gcc各有不同,比如mingw官方编译的gcc4.3.0 alpha,上述目录就是
安装目录\gcc\i386-pc-mingw32\4.3.0
而官方提供的binutils包里面是
安装目录\i686-pc-mingw32\bin

只要这两个地方没有设置好,就可能导致CreateProcess错误,那么,有没有什么好办法能够确定这里应该怎样命名呢?办法是用16进制编辑器打开gcc.exe,搜索GCC_EXEC_PREFIX,当搜索到该字符串(不止一个)时,观察后面是否出现版本号4.3.0,如果出现,后面紧接着的就是路径,如果是mingw32那么上面的命名就应该是
安装目录\libexec\gcc\mingw32\4.3.0
安装目录\mingw32\bin

如果是其他的例如i686-pc-mingw32,那么名称相应的变为
安装目录\libexec\gcc\i686-pc-mingw32\4.3.0
安装目录\i686-pc-mingw32\bin


附带发布一个msgpack python27.exe:
阅读(2747) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~