我正尝试在casadi中使用worhp,但收到以下错误消息:
Error (License): Could not open license file.
* Local MACs:
- 48:2a:e3:58:b0:47
- 00:ff:76:44:3b:be
- 94:e6:f7:51:bb:f3
- 96:e6:f7:51:bb:f2
- 94:e6:f7:51:bb:f2
- 94:e6:f7:51:bb:f6
WorhpInit: Could not obtain license.
Unsuccessful termination: License error.
Traceback (most recent call last):
File "C:\Users\Marco\Anaconda3\envs\casadi37\lib\site-packages\IPython\core\interactiveshell.py", line 3319, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-2-c949571b9b16>", line 1, in <module>
runfile('G:/Il mio Drive/Lavoro_GoogleDriveUnipi/Repos/MaikGitLab/master_thesis/nmpc_problem.py', wdir='G:/Il mio Drive/Lavoro_GoogleDriveUnipi/Repos/MaikGitLab/master_thesis')
File "C:\Program Files\JetBrains\PyCharm 2019.2.4\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "C:\Program Files\JetBrains\PyCharm 2019.2.4\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "G:/Il mio Drive/Lavoro_GoogleDriveUnipi/Repos/MaikGitLab/master_thesis/nmpc_problem.py", line 488, in <module>
mpc_instance.solve()
File "G:/Il mio Drive/Lavoro_GoogleDriveUnipi/Repos/MaikGitLab/master_thesis/nmpc_problem.py", line 331, in solve
lbg=self.g_lower_bound, ubg=self.g_upper_bound)
File "C:\casadiPackages\casadi-windows-py37-v3.5.1-64bit\casadi\casadi.py", line 13343, in __call__
return self.call(kwargs)
File "C:\casadiPackages\casadi-windows-py37-v3.5.1-64bit\casadi\casadi.py", line 12214, in call
return _casadi.Function_call(self, *args)
RuntimeError: .../casadi/interfaces/worhp/worhp_interface.cpp:307: Main: Initialisation failed. Status: LicenseError代码应该是正确的,因为它在我的一个合作者的Linux安装上运行得很流畅。
我使用的是win10下的casadi 3.5.1 (刚刚下载的)。我获得了worhp的许可证文件(我使用的是版本worhp_1.13-2_win64),该文件用于getmac.exe (随worhp分发的应用程序选择正确的MAC地址,结果是返回的第一个地址48:2a:e3:58:b0:47)。该文件位于C:\WORHP/worhp.lic.我还在我的本地目录和我的main.py所在的文件夹中的worhp文件夹的bin子文件夹中冗余地添加了相同的worhp.lic。似乎我已经正确设置了环境变量,例如,在PATH中,我将三个路径设置为bin、include、finclude和lib。我将WORHP_LICENSE_FILE设置为C:\WORHP\worhp,并将WORHP_DISABLE_WONGLE设置为True。
你能暗示我可能做错了什么吗?
发布于 2020-10-08 23:16:19
WORHP找不到您的许可证文件。如果它像您说的那样位于C:\WORHP\worhp.lic中,那么您还应该将环境变量WORHP_LICENSE_FILE设置为C:\WORHP\worhp.lic (在您的帖子中,文件扩展名.lic似乎丢失了)。
将worhp.lic文件放在WORHP文件夹的bin子文件夹中也可以让WORHP找到它,但前提是它是运行WORHP的“当前工作目录”。正如您所说的在CasADi中使用WORHP,我认为事实并非如此。您必须将其放在运行CasADi的工作目录中。
https://stackoverflow.com/questions/62676965
复制相似问题