首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在cygwin中安装obspy

在cygwin中安装obspy
EN

Stack Overflow用户
提问于 2014-02-18 20:21:55
回答 1查看 623关注 0票数 0

我是Cygwin的新手,目前我正在尝试在python中安装一个模块obspy,但我有以下问题:

代码语言:javascript
复制
$ easy_install obspy-0.9.0-py2.6-win32.egg
Processing obspy-0.9.0-py2.6-win32.egg
creating /usr/lib/python2.7/site-packages/obspy-0.9.0-py2.6-win32.egg
Extracting obspy-0.9.0-py2.6-win32.egg to /usr/lib/python2.7/site-packages
Adding obspy 0.9.0 to easy-install.pth file
Installing obspy-mseed-recordanalyzer script to /usr/bin
Installing obspy-scan script to /usr/bin
Installing obspy-dataless2xseed script to /usr/bin
Installing obspy-reftek-rescue script to /usr/bin
Installing obspy-xseed2dataless script to /usr/bin
Installing obspy-indexer script to /usr/bin
Installing obspy-print script to /usr/bin
Installing obspy-runtests script to /usr/bin
Installing obspy-dataless2resp script to /usr/bin
Installing obspy-plot script to /usr/bin
Installing obspy-mopad script to /usr/bin

Installed /usr/lib/python2.7/site-packages/obspy-0.9.0-py2.6-win32.egg
Processing dependencies for obspy==0.9.0
Searching for obspy==0.9.0
Reading http://pypi.python.org/simple/obspy/
Best match: obspy 0.9.0
Downloading https://pypi.python.org/packages/source/o/obspy/obspy-0.9.0.zip#md5=f720f675e66e8b2b6518e41b9ab9ada4
Processing obspy-0.9.0.zip
Writing /tmp/easy_install-RfU4Qv/obspy-0.9.0/setup.cfg
Running obspy-0.9.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-RfU4Qv/obspy-0.9.0/egg-dist-tmp-FLcOHj
error: Setup script exited with error: mismatch of extension names: build/libtau_CYGWIN_NT-5.1_32bit_py27.pyf provides 'libtau_CYGWIN_NT' but expected '1_32bit_py27'

说实话,我不太理解这个问题以及如何解决它。有没有人有什么想法?

我正在运行:

cygwin = 1.7.28(0.271/5/3)

python = 2.7.3 (默认,2012 -12- 18 13:50:09) GCC 4.5.3

Thx

EN

回答 1

Stack Overflow用户

发布于 2014-02-19 23:20:31

obspy根据platform.system()的值构造一个系统相关的扩展名,该值等于uname -s。在Cygwin上,例如CYGWIN_NT-6.1 (取决于Windows的版本;在Windows x64上也为i686 Cygwin添加了-WOW64 )。问题是Python模块名称不能包含连字符或点(后者是名称空间指示符)。

因此,在做了一些修改之后,您必须从源代码手动安装它。我建议在库名称替换中使用sys.platform (它只是cygwin)而不是platform.system();这确实需要在尚未使用import sys的地方添加一些import

一旦你这样做了,你会发现由于typedefs的冲突,包含的libmseed不能编译。解决这个问题需要在obspy/mseed/src/libmseed/lmplatform.h中的Linux或BSD条件中添加一个|| defined(__CYGWIN__)

我已经在here上提供了完整的补丁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21853678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档