Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python f2py不适用于顶棚_Python_Numpy_F2py_Canopy - Fatal编程技术网

Python f2py不适用于顶棚

Python f2py不适用于顶棚,python,numpy,f2py,canopy,Python,Numpy,F2py,Canopy,我对python比较陌生。我正在用热情的天篷做我的工作。从numpy导入f2py后,我在尝试执行时不断遇到无效语法错误: f2py -m (modname) -c --fcompiler=gfortran (prog.f90) 不用说,我已经安装了gfortran,并且该程序位于工作目录中。甚至试图逃跑 f2py -c --help-fcompiler 根据建议,网络上的某个地方会出现一个错误,即:未定义名称“c”。 键入f2py时: module 'numpy.f2py' from 'C:

我对python比较陌生。我正在用热情的天篷做我的工作。从
numpy
导入
f2py
后,我在尝试执行时不断遇到无效语法错误:

f2py -m (modname) -c --fcompiler=gfortran (prog.f90)
不用说,我已经安装了
gfortran
,并且该程序位于工作目录中。甚至试图逃跑

f2py -c --help-fcompiler
根据建议,网络上的某个地方会出现一个错误,即:
未定义名称“c”
。 键入f2py时:

module 'numpy.f2py' from 'C:\Users\acer\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.0.3.1262.win-x86_64\lib\site-packages\numpy\f2py\__init__.pyc'

这表示已安装f2py。有人知道我哪里出错了吗?

您可以尝试在脚本所在的目录中运行以下命令:

在窗户上

python path_to_scripts\f2py.py -c -m module_name prog.f90 --fcompiler=gfortran
在Linux上

python path_to_scripts/f2py.py -c -m module_name prog.f90 --fcompiler=gfortran

其中
path\u to\u scripts
是指向
scripts
目录的路径。例如:
C:\Python27\Scripts
。如果是Canopy,您必须查看此目录的位置…

您说您是“从numpy导入f2py”?这可能就是问题所在。f2py是一个命令行工具,而不是python模块。尝试在终端中运行命令。您可能需要找到f2py安装的目录(在普通的Python安装中,它将位于Scripts文件夹中,我不知道它将位于Canopy中),并确保它位于您的路径中。根据系统的设置方式,您可能需要运行类似于
Python f2py.py
的程序,而不是
f2py
我找到了包含f2py的目录,并尝试从命令行运行它,但遇到了一个错误,该错误的结尾是:
ValueError:[u'path']
通常在f2py编译时开始回溯。此外,从命令行或Ipython接口的根目录访问f2py不是很容易吗?ValueError看起来很像在配置不当的环境中尝试使用MSVC开始编译时出现的distutils问题。你能独立于Python在命令行上使用编译器吗?这个错误显然是由我(错误地)在我的环境变量中定义一个路径到
g77
作为编译器,另一个路径到
gfortran
而产生的。在我解决了这个问题之后,在scripts文件夹中尝试运行f2py.py是有效的。这一点,再加上在链接器和编译器路径之间整理出一些冲突的定义,就成功了。谢谢