Windows 2003上 salt 和 psutil 可能存在的问题及解决

  今天把salt安装在windows 2003上,发现无法启动,随之而来的是一个有一个的坑,让我们一起逐个排查。

问题一(salt无法启动)

  salt无法启动,错误结果如图:

解决

  这种错误完全无厘头呀,本着相信salt的原则,我们看看python能不能正常启动,由此产生新的问题。

问题二(python无法启动)

  启动C:\salt\bin\python,发现仍旧无法启动。这就奇怪了,我有理由相信这可能是salt自带的python的问题。那么从Python的官网下载个新包Python2.7.12看看,安装后发现官网的Python启动正常。莫非是初始化了一些环境变量?回过头来再去看salt中的python能不能用,奇迹般地好了~

解决

  重新安装一次官网的Python,然后再启动salt中的python试试。

  原因在于,这台windows 2003原来装过python,但可能因为后来卸载不彻底,以及中间各种软件安装影响了一些环境变量,导致salt中python无法正常启动。

问题三(缺少MSCVCR100.dll)

  既然python启动问题已经搞定,那就再去启动salt-minion吧。这次开启debug模式,看看能否正常启动,启动不了也会有详细信息。执行C:\salt\salt-minion-debug.bat,结果没过多久报了这个错:

解决

  既然windows 2003这位老先生明确告诉我们缺少了MSVCR100.dll这个动态链接库,那就找到它吧。这个库是vc++2010里的,所以从微软的官网下载Microsoft Visual C++ 2010 可再发行组件包 (x86), 安装完毕后,再启动salt-minion就不会报错了。

问题四(psutil中 ‘from . import _psutil_windows as cext’ 报错)

  由于项目中用到psutil,自然想到要检验下salt自带的python第三方psutil能否正常使用,结果很遗憾:

  这是什么鬼?不能导入的原因太模糊了吧,dll导入失败?!哪个dll?

  去报错相应的目录下看看吧,也就是C:\salt\bin\lib\site-packages\psutil\下,发现要导入的_psutil_windows包其实是_psutil_windows.pyd这个链接库。导入这个链接库失败,那么就看看这个链接库到底链接了什么东西。

  使用dependency walker去瞅瞅,发现是这样的问题:

解决

  把缺失的这两个dll(msvcr90.dll, msjava.dll)补上?补上后仍然有问题,看下文。

问题五(At least one module has an unresolved import ...)

  补上两个dll后,还显示一个错误:

  根据图片中的显示,大概是iphlpapi.dll和kernel32.dll的导入或被导入出现了问题。但是这两个是系统的呀,能奈之何?

  先不管这个错误,尝试运行下python,然后import psutil,看看会不会报错:

  看来还是老错误,无法避免。

  会不会是salt预装的psutil有问题?去C:\salt\bin\scripts\下,pip uninstall psutil卸载掉再重装试试,结果还是不行。

  这就非常奇怪,突发奇想该不会是高版本的psutil不支持低版本的系统导致的吧?于是再次卸载掉psutil,装了个1.x版本试验了下,结果可以了。

解决

  安装一个低版本的psutil试试,注意你用到的psutil的功能在低版本中可能不存在。

问题六(salt模块依赖的wmi可以用吗?)

  从salt官网上看到关于windows 2003这样的描述:

  貌似是wmi需要额外安装。

  那就先看看wmi能不能正常导入吧:

  很好,wmi库可以正常导入,项目要用到的wmic(第一次在cmd中输入,会自动安装)也能正常使用,皆大欢喜。

总结

  在低版本的系统上,可能会有各种各样想不到的坑。再次做个记录留作备忘,也给将来可能踩坑的同学借鉴经验。

时间: 08-08

Windows 2003上 salt 和 psutil 可能存在的问题及解决的相关文章

MongoDB与.NET结合使用一(mongodb在windows 2003上的安装)

mongodb发展至今已经到2.6版本了,自从获得了1亿美元的风投之后,发展速度更是比以前快了很多,前段时间因为要用缓存,也比较了mongodb,大家也都觉得比较适合做无关系化的大数据存储,所以系统统计分析的功能就用它了. 安装mongodb非常的简单,这里先给出作者的安装环境:windows 2003服务器,安装的是mongodb2.6 32位版本 安装mongodb越来越简单,只需2步即可完成. 第一步:下载2.6最新版本,解压到D盘mongodb-2.6 第二步:打开cmd,进入d:\mo

在Windows 10上安装Oracle 11g数据库出现的问题及解决

在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Edition binary 已停止工作:出现了一个问题,导致程序停止正常工作.如果有可用的解决方案,Windows 将关闭程序并通知你]的错误提示信息. 最后,发现是因为jdk的安装路径含有中文才导致这一致命的错误,接下来我是这样做的: 1.将整个jdk文件夹移动到某一英文路径. 2.修改环境变量中的系统变

DELL 755行业用机安装windows 2003系统报错 0x0000007b

DELL 755行业用机用光盘安装windows 2003系统报错:0x0000007b 先放解决办法:将ACHI模式调整为ATA模式即可解决问题: 经过查阅网上资料,最终锁定如下帖子中说的有点道理, http://www.elecfans.com/jiadian/diannao/20121016292687.html [第三参考]安装widows XP时蓝屏代码0X0000007B的问题的解决方案用户在重新安装Windows XP的过程中,可能会出现安装过程中蓝屏,代码是0X0000007B的

Windows 2003 IIS下配置MySQL+PHP+ISAPI_Rewrite+Zend+Xcache

Windows 2003 IIS下配置MySQL+PHP+ISAPI_Rewrite+Zend+Xcache zend  mysql  php  iis  windows  extension 一.准备工作 windows 2003,自己买吧... 安装IIS 6.0:安装系统后在"控制面板"->"添加或删除程序"->"添加/删除Windows组件"->双击"应用程序服务器"->然后选中"In

Windows 2003 AD升级至Windows 2012 AD之DHCP服务器迁移

Windows 2003AD升级至Windows 2012AD之DHCP服务器迁移 DHCP服务器迁移原因: Windows Server 2003 将于2015年07月14日生命周期终止,微软将不再提供服务,基于此原因许多企业的域架构都将要升级到Windows Server 200 R2或者Windows Server 2012 R2(此升级我们在前面的博文中已为大家介绍),但是不知道大家是否想到一旦我们的域架构升级那么我们域架构所在服务器上所运行的服务都要随之进行一个升级或者迁移.今天我们就

windows 2003 自动安全设置

@echo offecho.echo.echo.echo 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓echo.echo.echo windows 2003 自动安全设置程序 echo. echo "为走过的路做纪念,希望你能记得"echo.echo 注: 不要放在根目录执行echo *请用名为administrator的账号运行echo. *执行完成后只能用超级管理员登陆* echo.echo. echo. echo 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓pau

解决win7和2008连接windows 2003远程桌面很卡的问题

解决win7和2008连接windows 2003远程桌面很卡的问题 来源:http://www.hack1990.com/ 作者:佚名 时间:2013-04-12 TAG: 我要投稿 原因在于从vista开始,微软在TCP/IP协议栈里新加了一个叫做 “Window Auto-Tuning”的功能. 这个功能本身的目的是为了让操作系统根据网络的实时性能 (比如响应时间)来动态调整网络上传输的数据窗口的大小,从 而达到实时优化网络性能的目的. 但是,在某种情况下(具体是怎样的一个环境,目前我也不

DB 查询分析器 6.04 在 Windows 10 上的安装与运行展示

DB查询分析器 6.04 在 Windows 10 上的安装与运行展示 中国本土程序员马根峰(CSDN专访马根峰:海量数据处理与分析大师的中国本土程序员 http://www.csdn.net/article/2014-08-09/2821124)推出的个人作品----万能数据库查询分析器,中文版本<DB 查询分析器>.英文版本<DB QueryAnalyzer>.它具有强大的功能.友好的操作界面.良好的操作性.跨越各种数据库平台乃至于EXCEL和文本文件. 你可以通过它 ① 查询

windows 2003 远程桌面 连接输入账号密码后,只能看见蓝色屏幕和鼠标

具体解决方案参考的 http://www.tomshardware.com/forum/171045-46-remote-desktop-connection-blank-desktop to solve it I opened two windows thru remote desktopthen i disconnected the connection which was having blank desktop.then in the other connection where i w