如何在Cygwin中使用numpy

2 投票
2 回答
3880 浏览
提问于 2025-04-15 19:20

我有一个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的。

撰写回答