python  prebuild / precompiled packages for windows  by uci edu

 
在python windows环境下作业,有时候会碰上一些无厘头的问题,比如你想用python 的 bindings for  opengl, 又或者其它库的python api, 明明是把所有依赖都安装并配置好了,却总是出现一些莫名的问题。
 
比如今天opengl的问题,就让我好生崩溃。
 
由于需求涉及到网络编程、图像处理合成,以及图形学的问题,计划使用python 下的requests/urllib2, pil/pillow, skit-image, skit-learn, pyQt, pyOpenGL来做个demo,在安装完pyOpenGL, pyOpenGL-accelerate 等pkg后,使用pyopengl-demo pkg提供的demo来测试却在glutinit函数总总是报错,莫名啊
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
 
用everything搜索发现,系统中并无glut.dll 和 glut.lib,继而又去安装 NvidIA的cg for windows. 并手工把相关dll 和lib 以及.h文件放进相应环境目录, 结果还是是一样的。后续发现http://sourceforge.net/p/pyopengl/bugs/219/ 有相同的问题。
 
检查发现原来是32bit opengl库被默认使用的问题, 需重装64bit版本, 但是编译安装在windows下确实是个头疼的事情,每当这时在uci大学的一个实验室网站上总能找到我们的救星。

例如安装MySQL-python,编译失败,可以通过如下步骤进行:

for 64-bit windows

- **install using wheel**

pip install wheel

- **download from http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python**

pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl

 
这个网站是python windows环境下使用者的福星,很多科学计算库都有预编译版本,提供直接安装,大大地简化了我们的工作。
 
同时,如果你想在windows上自动编译安装c或c++的python package, 那可以通过以下方式来支持。

比如:在安装pcapy时,出现以下错误:

building 'pcapy' extension
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27

可以通过安装:

Microsoft Visual C++ Compiler for Python 2.7

来支持。

python packages prebuild for windows的更多相关文章

  1. python开发环境设置(windows)

    python开发环境设置(windows) 1)  python2.7.3安装 在www.python.org上下载python-2.7.6.amd64.msi软件.安装完毕后设置path路径.控制面 ...

  2. PIP & Python packages management

    PIP & Python packages management $ python3 --version # OR $ python3 -V # Python 3.7.3 $ pip --ve ...

  3. Python+selenium自动化测试中Windows窗口跳转方法

    Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 drive ...

  4. Python环境搭建(Windows)

    ·Python环境搭建(Windows) @ 下载Python  Python官网:https://www.python.org/  Python帮助文档下载地址:https://www.python ...

  5. windows 10 上使用pybind11进行C++和Python代码相互调用 | Interfacing C++ and Python with pybind11 on windows 10

    本文首发于个人博客https://kezunlin.me/post/8b9c051d/,欢迎阅读! Interfacing C++ and Python with pybind11 on window ...

  6. < python音频库:Windows下pydub安装配置、过程出现的问题及常用API >

    < python音频库:Windows下pydub安装配置.过程出现的问题及常用API > 背景 刚从B站上看过倒放挑战之后也想体验下,心血来潮一个晚上完成了基本的实现.其中倒放与播放部分 ...

  7. Python结合Pywinauto 进行 Windows UI 自动化

    转:Python结合Pywinauto 进行 Windows UI 自动化 https://blog.csdn.net/z_johnny/article/details/52778064 说明:Pyw ...

  8. 用Sublime搭建Python开发环境(windows)

    1.安装Python 3 去官网下载Python 3,网址:https://www.python.org/downloads/release/python-363/ 双击安装,勾选添加到环境变量. 有 ...

  9. python安装pyeda库--windows版

    本页介绍了如何购买自己的PyEDA闪亮副本.PyEDA项目的主要目标是成为主流的Python软件包,并遵守社区中遵守的大多数约定. 支持平台 PyEDA支持Windows以及任何带有C编译器的平台.作 ...

随机推荐

  1. C#.NET常见问题(FAQ)-如何判断某个字符是否为汉字

    字符强制转换成int可以判断字符数值大小,在下面所示范围内的就是中文   此外还可以判断是否是数字或者字母,用char.IsLetter和char.IsDigit方法   从先这个范例可以看出,中文也 ...

  2. C#.NET常见问题(FAQ)-如何使用DataGridView跟Excel数据交互

    1 从工具箱中拖进来一个DataGridView   2 就像Excel表头,可以添加一个表头(即一列的抬头,比如叫做A)   3 一次添加ABCDE等项目,也可以修改该类目的类型为Button或者C ...

  3. scoop - 初次使用

    scoop也是包管理工具,不过是含着金钥匙出生的(正巧碰上微软支持开源,并且拥抱开源生态圈),此后的Win10 powershell 3.x+也就不会像Win7 powershell 2.x那样沉默了 ...

  4. C#中添加三个线程同时启动执行某一方法,并依次调用某方法中的循环打印输。

    添加三个线程同时启动执行某一方法,并依次调用某方法中的打印输:ABC ABC ABC ABC 实现代码如下: using System; using System.Collections.Generi ...

  5. NGINX高并发配置

    1.  worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8). 2.  worker_cpu_affinity 000 ...

  6. webbrowser载入地图网页出现脚本错误解决

    对于这个问题.我整整花了一上午的时间来解决,网上关于此问题的解决差点儿找不到,于是我就尽能够能的从网上相关问题的答案中获取些灵感.功夫不负有心人.最终通过这些灵感的积累我最终攻克了此问题. 首先让我们 ...

  7. MongoDB numa系列问题三:overcommit_memory和zone_reclaim_mode

    内核参数overcommit_memory : 它是 内存分配策略 可选值:0.1.2.0:表示内核将检查是否有足够的可用内存供应用进程使用:如果有足够的可用内存,内存申请允许:否则,内存申请失败,并 ...

  8. vs2017莫名自动退出调试状态可以尝试一下如下的方法

  9. Dubbo源码解读:appendAnnotation [01]

    import java.lang.reflect.Method; public class AppendAnnotation { /** * 获取某个Annotation实例的所有方法值(实际是Ann ...

  10. 初始化ArrayList的两种方法[转]

    方式一:  ArrayList<String> list = new ArrayList<String>();  String str01 = String("str ...