小编Sta*_*ner的帖子

Python PIP在Windows 7上针对64位安装的MS Visual Studio 2010 Express路径存在问题

我正在创建一个带有干净安装的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 …

python windows 64-bit pip visual-studio-2010

18
推荐指数
2
解决办法
3万
查看次数

Pandas Crosstab:更改命名为格式化日期的列的顺序(mmm yy)

我一直在寻找如何订购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)

python sorting date crosstab pandas

5
推荐指数
1
解决办法
3160
查看次数

标签 统计

python ×2

64-bit ×1

crosstab ×1

date ×1

pandas ×1

pip ×1

sorting ×1

visual-studio-2010 ×1

windows ×1