我想在windows上使用与Cygwin打包的Python。 我需要安装PyBluez,一个蓝牙Python绑定。 我安装了easy_install,没问题。 我知道,它适用于windows版本的Python,因为我做了PyBluez的.exe安装并做了一些testing。
但是我不想使用windows的Python版本,但是使用Cygwin的版本。 但实际上,使用easy_install或直接从tarball安装不能正常工作(没有错误消息,但没有完全安装)。 原因似乎很简单:在几个文件中,有一些条件语句:
if sys.platform == 'win32': ... elif sys.platform == 'linux2': ... elif sys.platform == 'darwin': ...
不幸的是,当我为Cygwin启动Python时,该平台是:
$ python >>> import sys >>> sys.platform 'cygwin'
有趣的是,当我们从Cygwin启动Python for windows时,我们有哪个平台:
多个windows服务在一个EXE
当声音输出停止时,使用Powershell自动点击鼠标?
win32:销毁使用CreateDesktop创build的deskstop
Hangfire显示在同一台服务器上运行的两个实例v.1.5.3 – 导致错误
因为它不是java中的一个目录,UNC在vm盒子上的符号链接返回
$ /cygdrive/d/Programs/Python26/python -i >>> import sys >>> sys.platform 'win32'
我们可以在PyBluez库中修改一些Python文件,这样他们就可以同时考虑'win32'和'cygwin':
if sys.platform == 'win32' or sys.platform == 'cygwin': ...
不幸的是,1)它意味着修改一些文件,2)这是不够的:在PyBluez的情况下,当我导入库,我们有__init__.py文件:
if sys.platform == "win32": _dbg("trying wIDcomm") have_wIDcomm = False dll = "wbtAPI.dll" sysroot = os.getenv ("SystemRoot") ...
os.getenv(“SystemRoot”)在启动Python for windows时正确定义,但没有用Cygwin的Python定义。
所以,我的问题是:有没有一种简单的方法来欺骗Python的Cygwin认为它是从一个Win32平台启动,具有所有正确的需要的环境,而无需手动修改库设置文件?
也许这是不可能的? (两个版本都在windows上,但它们的编译方式不同)。
问题不限于PyBluez的安装,也适用于其他types的库。
你如何尝试小/简单的C或C ++源代码?
file.copy()从networking共享到另一个共享在同一台机器上通过networking复制文件?
windows主题常量在哪里定义?
在windows资源pipe理器中检测文件select
MessageBox“exception程序终止”让我的应用程序继续运行
总结以上是内存溢出为你收集整理的我们可以把Python for Cygwin当作win32平台吗? (安装PyBluez)全部内容,希望文章能够帮你解决我们可以把Python for Cygwin当作win32平台吗? (安装PyBluez)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)