繁体   English   中英

无法在Windows上使用Eclipse导入由f2py生成的文件

[英]Cannot import files generated with f2py using Eclipse on Windows

我有一些在Linux中开发的Python代码(将Eclipse与Pydev结合使用)可以调用f2py生成的某些模块(扩展名为“ * .so”),这些模块可以在此OS上完美执行。 现在,我也需要在Windows上运行它们,但是我发现了一些困难。

在Windows上运行不需要这些模块的Python代码时,一切正常。 但是,如果我需要导入它们(例如,“ import WHATEVER”,是WHATEVER.so,使用f2py生成的文件),则会收到错误“ ImportError:没有名为WHATEVER的模块”。 这些模块与主Python文件位于同一路径(即/ projectname / src /中)。 我检查了PYTHONPATH,没有发现任何错误(此路径已在其中)。

我还尝试使用Python的命令窗口导入它们,发现完全相同的问题。 即使在正确的目录中查找,似乎也无法打开这些文件。 谁能知道我忘记了什么?

提前致谢。

由f2py在Linux上生成的.so文件特定于Linux,在其他操作系统上不起作用。 这就是为什么您不能在Windows或Linux上运行Windows .exe的Linux二进制程序的原因-格式完全不同。 为了在Windows上使用您的库,您需要在Windows上对其进行编译以生成.dll文件。 gcc / gfortran和其他版本可以在Windows中以几种不同的发行版本使用。 我个人更喜欢Cygwin ,因为它的软件包管理器/安装程序非常简单。

正如MattDMo所说,使用dll是一个很好的建议。 但是,这意味着使用ctypes ,当Fortran子例程返回多个变量时(至少对于像我这样的新手),这将变得有些棘手。 对我来说效果很好的另一个选择是使f2py生成扩展名为“ .pyc”而不是先前的“ .so”的文件。 为此, 此处已对所有内容进行了很好的说明。 这样做的好处是,我不需要修改在Linux环境中完成的代码,而仍然可以在Windows中运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM