WIN7(64位)安装Python模块py-radix

前言:

py-radix是用C语言实现的python模块,实现了radix算法(最长前缀匹配算法,用于路由查找)

py-radix模块下载:

我下载的最新的版本 py-radix-0.5.tar

py-radix模块安装:

1,解压文件,进入目录 \py-radix-0.5

2,打开cmd ,进入相应目录,执行setup.py

执行命令依次如下:python setup.py build

python setup.py install

如果中间不提示error,自然就是安装成功了。

3,测试,如下图所示,则表示成功:

错误问题和解决方法:

当然,我并没有如此幸运主要是遇到了两个问题:

1,第一:Unable to find vcvarsall.bat”错误。

原因分析:定位错误发现在C:/Python27/Lib/distutils目录下.py文件中,进一步,发现“unable
to find vcvarsall.bat”这句话出在svc9compiler.py中。它是在注册表中寻找到vs的目录,再去在vs目录下找vcvarsall.bat。如代码中所述,python27里面默认是vc9.0也就是vs2008所对应的C++编译器是msvc
9.0,也就是说如果你的机器上安装了VS2008应该不会出现这种错误,但是我的机器是安装的VS2010,其编译器版本是msvc 10.0,所以它在注册表里面找不到键值返回None

productdir = Reg.get_value(r"%s/Setup/VC" % vsbase,

"productdir")

vsbase值为:Software/Microsoft/VisualStudio/9.0

所以解决问题的方法如下:

svc9compiler.py中

def find_vcvarsall(version) 用于查找vcvarsall.bat version就是版本号,实际上是9.0

vc_env = query_vcvarsall(VERSION, plat_spec)

VERSION = get_build_version() 因为python27自己是由vc9.0构建的所以VERSION是9.0

修改MSVCCompiler函数:

vc_env = query_vcvarsall(VERSION, plat_spec)

为:

vc_env = query_vcvarsall(10.0, plat_spec)

不过还有这句话:

if VERSION < 8.0:

raise DistutilsPlatformError("VC %0.1f is not supported by this module" % VERSION)

看来,python3.2中的distutils只支持vc8.0以上,即vs2005以上的编译器。

另外,网上也有说 进入CMD 并执行 :SET VS90COMNTOOLS=%VS100COMNTOOLS% ,经测试这种方法也是果断可以的,因为道理一样。另外,也有

通过安装mingw来解决的,未尝试,也不推荐,何必这么麻烦?

第二:error C2373:"inet_ntop":重定义,不同的类型修饰符错误。

原因分析:错误提示如下图:

提示给的详细,也就是说,inet_ntop":重定义了,但是类型修饰符不同,于是进入相应文件进行定位:

radix.h中的函数:

ws2tcpip.h中的函数:

radix.c中的函数:

用到inet_ntop地方都在这里了,问题貌似比较明显了,就是ws2tcpip.h中的第二个参数是PVOID类型,即void
*类型,其他的则为const void *类型,所以

就是修改radix.x的相关函数了,可不要想着去修改系统的函数文件ws2tcpip.h,防止以后出现莫名奇妙的错误。改完了,经测试,错误还在,这是为什么呢?进入文件夹

发现\py-radix-0.5中还提供了inet_ntop.c文件来实现inet_ntop,而且radix.*就是引用的它的实现,看来inet_ntop的实现根本就没用到系统提供的,但是函数名字

又一致,参数类型不同,所以出现了错误。那么就找一个一劳永逸的方法吧,直接把\py-radix-0.5中用的inet_ntop函数改一个新的名字就可以了,经测试

果真好用,成功解决问题。

其中inet_ntop.c中的inet_ntop实现如下:

时间: 2024-10-22 10:20:31

WIN7(64位)安装Python模块py-radix的相关文章

Schlumberger Petrel 2011.1 WIN7 64位 英文版全模块送4G资料

Schlumberger Petrel 2011.1 WIN7 64位 英文版全模块送4G资料Petrel是一套目前国际上占主导地位的基于Windows 平台的三维可视化建模软件,它集地震解释.构造建模.岩相建模.油藏属性建模和油藏数值模拟显示及虚拟现实于一体,为地质学家.地球物理学家,岩石物理学 家,油藏工程人员提供了一个共享的信息平台.同时,Petrel应用了各种先进技术:强大的构造建模技术.高精度的三维网格化技术.确定性和随机性沉积相 模型建立技术.科学的岩石物理建模技术.先进的三维计算机

win7 64位安装redis 及Redis Desktop Manager使用

win7 64位安装redis 及Redis Desktop Manager使用     喻高咏 论坛徽章: 3 写基于dapper的一套自动化程序,看到 mgravell的另一个项目,StackExchange.Redis,之前在.NET上用过一段时间redis,不过一直是其它的驱动开发包,这个根据作者介绍,是个高性能的线程安全的.NET c#开发redis客户端的库.说的很吊,不过我确信mgravell出品的东西都是精品.说多无益,先把redis在win上的开发环境搭一下.redis官方没有

Win7 64位安装VS2013无法连接远程数据库

win7 64位安装vs2013后连接远程数据库出现下面的问题:A first chance exception of type 'System.AccessViolationException' occurred in System.Data.dll Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corru

window7 64位安装Python

Python下载地址:https://www.python.org/download/releases/2.7.8/ 选择64位的安装,然后双击打开下载的文件,默认一步步安装. 其中有一个步骤如下图: Add python.exe to path选中后它按在系统变量Path中的头部添加 C:\Python27; 但是,这样再打开cmd输入python中是会错误的,所以不选中直接下一步,然后自己添加环境变量. 下载完成后,打开计算机——属性——高级系统设置——环境变量——系统变量——Path中添加

PLSQL Developer win7 64位 安装方法

安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0).Win7 64位系统暂无PLSQLDeveloper,所以下一个32位的. 下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_11_2):D:\Oracle\app\Dell\product\insta

win7 64位 安装 scikit-learn和一些python包

想用scikit-learn学机器学习,昨天安装了一下,今天整理出来. 有两种方法使用这个包. 一.简单粗暴,直接下载winPython,装了就可以用,IDE是自带的Spyder. 二.1.首先安装python,配置环境变量等,这个不多说. 2.安装pip: https://bootstrap.pypa.io/get-pip.py  直接把内容复制到 get-pip.py 然后python执行,如图 3.按顺序安装numpy, scipy, matplotlib, scikit-learn这些包

win7 64位安装MySQL 绝对经典

windows 7 64位下配置mysql64位免安装版1.官方网站下载mysql-5.6.10-winx64.zip 这里也可以下载 http://xiazai.zol.com.cn/detail/4/33431.shtml  这是免安装版 2.解压到d:\mysql(路径自己指定)3.在d:\mysql下新建my.ini配置文件,内容如下: ---------配置文件开始-------- [mysqld]# set basedir to your installation pathbased

win7 64位 安装 oracle 11gR2 数据库

一.描述 在64位的win7操作系统中安装Oracle11gR2数据库,我们首先需要下载Oracle数据库软件,该地址包含32位和64位的Oracle数据库软件. 百度云盘免费下载地址:http://pan.baidu.com/s/1kTHzodL 二.安装步骤 1.解压以上下载的Oracle安装文件 2.将win64_11gR2_database_2of2\database\stage\Components文件夹下的所有文件拷到win64_11gR2_database_1of2\databas

win7 64位安装redis 及Redis Desktop Manager使用(转载的)

写基于dapper的一套自动化程序,看到 mgravell的另一个项目,StackExchange.Redis,之前在.NET上用过一段时间Redis,不过一直是其它的驱动开发包,这个根据作者介绍,是个高性能的线程安全的.NET c#开发redis客户端的库.说的很吊,不过我确信mgravell出品的东西都是精品.说多无益,先把redis在win上的开发环境搭一下. redis官方没有64位的Windows下的可执行程序,目前有个开源的托管在github上, 地址:https://github.

Win7 64位安装JDK的步骤

今天重新复习一下JDK的安装过程,同时把这个过程记录下来,也分享给其他的初学者,让大家少走一点弯路.废话不多说,开始喽,擦亮你的眼睛^_^ 第一步:当然是先找到JDK的安装包啦,版本可以根据自己的需要,自己决定,JDK官网的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 上图,打开以上地址,将会看到 在这里,我选择的是windows下的64位版本,首先先接受许可协议.