Vin*_*ier 7 python fortran compilation
虽然我找到了很多关于这个问题的答案和讨论,但我无法找到特定于我的情况的解决方案.这里是:
我有一个用FORTRAN编写的主程序.我得到了一组非常有用的python脚本.我的目标是从我的主要FORTRAN程序访问这些python脚本.目前,我只是简单地从FORTRAN调用脚本:
CALL SYSTEM('python pyexample.py')
从.dat文件读取数据并写入.dat文件.这就是python脚本和主要FORTRAN程序相互通信的方式.
我目前正在本地计算机上运行我的代码.我有python安装与numpy,scipy等.
我的问题:代码需要在远程服务器上运行.对于严格的FORTRAN代码,我在本地编译代码并将可执行文件发送到它在队列中等待的服务器.但是,服务器没有安装python.该服务器被用作大学和工业之间的数字运算站.不能在服务器上安装python和必要的模块.这意味着我的"CALL SYSTEM('python pyexample.py')"策略不再有效.
解决方案?:我在线程中找到了一些关于某些事情的信息将Python编译成机器代码是否可行?
Shedskin,Psyco,Cython,Pypy,Cpython API
这些"模块"(?不确定是否可以调用它们)似乎将python脚本编译为C代码或C++.显然不是所有的python功能都可以转换为C.同样,其中一些似乎是实验性的.是否可以使用我的FORTRAN代码编译我的python脚本?存在将FORTRAN代码转换为python的f2py,但它不起作用.
任何帮助将不胜感激.感谢您的时间.
文森特
PS:我在Ubuntu上使用python 2.6
无论如何,您需要在服务器上获取 Python 运行时,否则将无法执行 Python 字节码。Ignacio 的建议是正确的,建议直接调用 libpython,但由于 Fortran 的参数传递约定,您可以更轻松地编写 C 包装器来处理 Fortran 和 CPython 嵌入 API 之间的接口。
不幸的是,你这样做很困难——编写一个可以调用 Fortran 子例程的 Python 程序比相反的方法要容易得多。
| 归档时间: |
|
| 查看次数: |
3833 次 |
| 最近记录: |