我在Linux中开发了一些Python代码(使用带有Pydev的Eclipse),它回忆起一些用f2py生成的模块(扩展名为“* .so”),可以在这个操作系统上完美执行。现在我也需要在Windows上运行它们,但我发现了一些困难。
在Windows上,当我运行不需要这些模块的Python代码时,一切都很好。但是如果我需要导入它们(例如,“import WHATEVER”,WHATEVER.so使用f2py生成的文件),我收到错误“ImportError:No module named WHATEVER”。这些模块与主Python文件(即/ projectname / src /)中的路径相同。我已经检查了PYTHONPATH,我没有看到任何错误(这条路已经在其中)。
我也尝试使用Python的命令窗口导入它们,找到完全相同的问题。它似乎无法打开这些文件,即使它正在查找正确的目录。任何人都可以弄清楚我忘了什么吗?
提前致谢。
答案 0 :(得分:2)
Linux上由f2py生成的.so
文件特定于Linux,并且不能在其他操作系统上运行。这就是为什么你不能在Windows上运行Linux二进制程序,或在Linux上运行Windows .exe
的原因 - 格式完全不同。为了在Windows上使用您的库,您需要在Windows上编译它们以生成.dll
个文件。 gcc
/ gfortran
以及其他一些版本可用于Windows。我个人更喜欢Cygwin,因为它的包管理器/安装程序非常简单。
答案 1 :(得分:0)