如何在Cygwin中使用numpy
我有一个bash脚本,它会调用一些python脚本。我在使用Windows系统,并且安装了cygwin,里面有python,路径是/usr/bin/python。我还在Windows上安装了python和numpy这个库。当我从cygwin执行这个脚本时,出现了一个错误,提示ImportError - 没有找到numpy这个模块。我尝试从Windows的命令行运行,但bash脚本无法运行。有没有什么建议?我的脚本如下:
for target in $(ls large_t) ;
do
./emulate.py $target ; #
done | sort | gawk '{print $2,$3,$4,$5,$6 > $1}{print $1}' | sort | uniq > frames
#frames contains a list of filenames, each files name is the timestamp
rm -f video
touch video
# for each frame
for f in $(cat frames)
do
./make_target_ant.py $f
cat $f.bscan >> video
done
谢谢
2 个回答
0
你安装的NumPy是针对Windows版Python的,而不是cygwin版Python。要么从源代码安装一个适合cygwin版Python的NumPy,要么如果cygwin的安装包里有的话,就直接从cygwin的安装程序里安装。
4
Windows上的Python和Cygwin上的Python是两个独立的东西;如果你在使用Cygwin的Python,就需要在Cygwin里安装numpy这个库。
如果你想用Windows的Python,可以通过以下几种方式在bash脚本中调用它:
- 直接调用Windows的可执行文件:
c:/Python/python.exe ./emulate.py
- 把脚本里的哈希标记(hash-bang)改成指向Windows的安装路径:
#!c:/Python/python.exe
,而不是#!/usr/bin/env python
或#!/usr/bin/python
。 - 在运行脚本期间,把Windows的Python放在Cygwin的Python之前:
PATH=c:/Python/:$PATH ./emulate.py
这里的emulate.py
是通过/bin/env
方法来运行Python的。