我正在创建一个带有干净安装的python 3.3,64位版本的virtualenv.(注意:我在我的计算机上安装了几个python,包括WinPython,但是想为我正在处理的几个项目设置干净小巧的virtualenv .WinPython版本工作正常.)当我用pip尝试安装包时,我收到了一条错误消息(如果需要,可以包含点子日志).最终,错误消息的最后几行是:
File "c:\python33-b\Lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall raise ValueError(str(list(result.keys())))
ValueError: ['path']
Run Code Online (Sandbox Code Playgroud)
我调查了msvc9compiler.py中函数query_vcvarsall的结果.我发现这个函数正在我的计算机上查找来自MS Visual Studio 10 Express的vcvarsall路径.它正在寻找4个组件:INCLUDE =,PATH =,LIB =和LIBPATH =.这些是特定于MS VS 2010.我的安装向此函数发送了"amd64"参数.除了PATH =语句之外,它没有找到任何内容,但确实找到了vcvarsall.bat文件.当我欺骗这个函数使用"x86"参数时,它找到了所有4个语句,看起来好像运行正常.
我花了一些时间在网上研究这个.我发现MS VS Express 2010默认安装为32位.必须将其设置为以64位运行(这意味着它将设置上面所需的语句.)显然存在一个错误,并且此版本未安装64位工具.所以我安装了MS SDK以安装64位工具.然后我发现有一个修复程序并安装它(在链接中列出).
有几种方法概述了为64位VS创建路径.一个是vcvarsall amd64在MS VS的命令行上运行.这导致一条消息说我的计算机上没有安装这些工具.这些工具将驻留在C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64目录中.它显然正在寻找的文件是vcvars64.bat(或类似的东西).我有目录但不是批处理文件.(建议使用x86_amd64方法,但它有所有相同的问题.)
第二个建议是setenv /x64从SDK命令行运行.我跑了,似乎运行正常.但是,当我去的时候,我尝试通过pip安装软件包,我收到了同样的错误消息.
我的问题最终是如何让pip顺利运行?只是提一下,是的,我在每次安装后再次测试pip之前重新启动并尝试修复此问题.
以下是一些帮助我做到这一点的网站:
1)从Visual Studio 2010启动64位命令提示符
2)为MS VS 2010命令行构建设置路径和环境变量:http:
//msdn.microsoft.com/en-us/library/f2ccy3wt.aspx
3)VS2010 Express和缺少的x64编译器:https://social.msdn.microsoft.com/Forums/en-US/e0ef4613-d90f-4eec-90db-41339ed31367/vs2010-express-and-missing-x64-compiler?forum
= Vsexpressinstall
4)FIX:如果安装了Windows SDK v7.1,则在将Visual Studio 2010 Professional或Visual Studio 2010 Express升级到Visual Studio 2010 SP1时会删除Visual C++编译器:http:
//support.microsoft.com/kb/2519277 …
我一直在寻找如何订购pandas交叉表的列无济于事.我特别需要根据日期的值来订购格式化日期(mmm yy)的列,而不是按字母顺序在3个字母的月份名称(mmm)上排序.
以下是我的代码的详细信息:
python 3.3
大熊猫0.12.0
f_dtflt 是一个熊猫数据帧.
f_dtflt.COLLECTION_DATE 是dtype datetime64 [ns]
我的交叉表声明是:
pd.crosstab(f_dtflt.EW_REGIONCOLLSITE, f_dtflt.COLLECTION_DATE.apply(lambda x: x.strftime("%b %y")), margins=True)
输出是:
COLLECTION_DATE Apr 13 Aug 13 Dec 12 Feb 13 Jan 13 Jul 13 Jun 13
EW_REGIONCOLLSITE
EAST 1964 2092 2280 2272 2757 2113 1902
WEST 2579 2011 1003 2351 2216 1506 1823
All 4543 4103 3283 4623 4973 3619 3725
COLLECTION_DATE Mar 13 May 13 Nov 12 Oct 12 Sep 13 All
EW_REGIONCOLLSITE
EAST 1682 1981 2108 825 975 22951 …Run Code Online (Sandbox Code Playgroud)