Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 在django views.py中找不到Matlab脚本_Python_Django_Matlab_Python 2.7_Pydev - Fatal编程技术网

Python 在django views.py中找不到Matlab脚本

Python 在django views.py中找不到Matlab脚本,python,django,matlab,python-2.7,pydev,Python,Django,Matlab,Python 2.7,Pydev,我在views.py页面的同一目录中有一个用户制作的Matlab脚本,但是当调用它时,我收到一个错误:对于“double”类型的输入参数,未定义函数“getRecs”。基本上没有找到脚本 当我使用同一目录中的test.py脚本测试脚本时,一切正常,但通过浏览器和开发服务器调用views.py时,会出现错误 tools.py: test.py:工作正常,与views.py和getRecs.m位于同一目录中 使用Pydev的runas:Python运行 from tools import * te

我在views.py页面的同一目录中有一个用户制作的Matlab脚本,但是当调用它时,我收到一个错误:对于“double”类型的输入参数,未定义函数“getRecs”。基本上没有找到脚本

当我使用同一目录中的test.py脚本测试脚本时,一切正常,但通过浏览器和开发服务器调用views.py时,会出现错误

tools.py:

test.py:工作正常,与views.py和getRecs.m位于同一目录中 使用Pydev的runas:Python运行

from tools import *

test_ratings = [5, 0, 3, 2, 1, 5]
conv_rates = matlab.double(initializer=test_ratings)
new_recs = get_recs(conv_rates)
print_list(new_recs)
views.py:抛出错误

from tool import *
test_ratings = [5, 0, 3, 2, 1, 5]
def new_user(request):
    conv_rates = matlab.double(initializer=test_ratings)
    new_recs = get_recs(conv_rates)
    return render_to_response('new_user.html', { 'ratings_list' :new_recs}, context_instance=RequestContext(request)) 

我使用的是Python 2.7、Django 1.9和Matlab R2015b

Django开发服务器或WSGI服务器定义的默认目录与用户脚本所在的目录不同。尝试使用addpath选项将用户脚本的位置添加到搜索路径:


Django开发服务器或WSGI服务器定义的默认目录与用户脚本所在的目录不同。尝试使用addpath选项将用户脚本的位置添加到搜索路径:


对于将来遇到此问题的任何人:就像Selcuk提到的,开发服务器定义了自己的目录,因此您需要添加要用于引擎的脚本的路径。我是通过添加

eng.addpath(r'C:\path\to\my\scripts\')

初始化并启动引擎后。

对于将来出现此问题的任何人:如Selcuk所述,开发服务器定义了自己的目录,因此您需要将要使用的脚本的路径添加到引擎中。我是通过添加

eng.addpath(r'C:\path\to\my\scripts\')

初始化并启动引擎后。

虽然您提供的代码行没有解决问题,但感谢您解释WSGI服务器定义了不同的目录并为我指出了正确的方向,非常感谢您提供的代码行虽然没有解决问题,感谢您解释WSGI服务器定义了一个不同的目录并为我指明了正确的方向,非常感谢调用eng.savepath可能只能设置一次。调用eng.savepath可能只能设置一次。
eng.addpath(r'C:\path\to\my\scripts\')